導航:首頁 > 網路信號 > VB如何通過網路控制關電腦

VB如何通過網路控制關電腦

發布時間:2022-04-02 23:15:43

A. 怎樣用VB斷開網路連接

兩個命令按鈕,一個text,一個timer代碼:Dim t As Integer
Private Sub Command1_Click()
t = Text1.Text
MsgBox "系統將在" & t & "分鍾後自動斷開網路連接"
Timer1.Enabled = True
Me.Hide
End SubPrivate Sub Command2_Click()
Me.Hide
End SubPrivate Sub Form_Load()
App.TaskVisible = False
Timer1.Enabled = False
Timer1.Interval = 60000
Dim ret As Long
preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)
ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf Wndproc)
idHotKey = 1
Modifiers = MOD_CONTROL
uVirtKey = vbKeyA
ret = RegisterHotKey(Me.hwnd, idHotKey, Modifiers, uVirtKey)
End Sub Private Sub Timer1_Timer()
t = t - 1
If t <= 0 Then
Shell "Rasdial /DISCONNECT"
End If
End Sub 然後再把以下代碼寫到模塊中:Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function CallWindowProc Lib "User32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function RegisterHotKey Lib "User32" (ByVal hwnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Declare Function UnregisterHotKey Lib "User32" (ByVal hwnd As Long, ByVal id As Long) As LongPublic Const WM_HOTKEY = &H312
Public Const MOD_ALT = &H1
Public Const MOD_CONTROL = &H2
Public Const MOD_SHIFT = &H4
Public Const GWL_WNDPROC = (-4)Public preWinProc As Long
Public Modifiers As Long, uVirtKey As Long, idHotKey As LongPrivate Type taLong
ll As Long
End TypePrivate Type t2Int
lWord As Integer
hWord As Integer
End TypePublic Function Wndproc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If Msg = WM_HOTKEY Then
If wParam = idHotKey Then
Dim lp As taLong, i2 As t2Int
lp.ll = lParam
LSet i2 = lp
If (i2.lWord = Modifiers) And i2.hWord = uVirtKey Then
Form1.Show
End If
End If
End If
Wndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam, lParam)
End Function OK,完工了在這個軟體的text1中輸入你想要斷開網路的時間,然後按下command1,窗體就會自動隱藏,按下「Ctrl + A」可以再次彈出窗體(command2隻是怕不小心按下Ctrl + A後無法再次隱藏窗體而設計的,按下它就可以再次隱藏窗體)斷開網路連接後,如果沒有關掉此軟體,再次連接網咯時,系統會在1分鍾內再次斷開網路,這樣別人就對你的電腦沒轍了,哈哈。望採納

B. vb中如何斷開網路,如何重連

Option Explicit

Private Const NO_ERROR As Long = 0

Private Const MAX_ADAPTER_NAME As Long = 256

Private Type IP_ADAPTER_INDEX_MAP
Index As Long
wsName As String * MAX_ADAPTER_NAME
End Type

Private Type IP_INTERFACE_INFO
NumAdapters As Long
Adapter(0) As IP_ADAPTER_INDEX_MAP
End Type

Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)

Private Declare Function IpReleaseAddress Lib "IPHLPAPI.dll" (ByRef AdapterInfo As IP_ADAPTER_INDEX_MAP) As Long
Private Declare Function IpRenewAddress Lib "IPHLPAPI.dll" (ByRef AdapterInfo As IP_ADAPTER_INDEX_MAP) As Long

Private Declare Function GetInterfaceInfo Lib "IPHLPAPI.dll" (ByRef pIfTable As Any, ByRef dwOutBufLen As Long) As Long

Private Sub Command1_Click()
Dim i As Long, lOut As Long, lNum As Long
Dim III As IP_INTERFACE_INFO, arrTmp() As Byte
Dim aIAIM() As IP_ADAPTER_INDEX_MAP, IAIM As IP_ADAPTER_INDEX_MAP
i = GetInterfaceInfo(III, lOut)
ReDim arrTmp(lOut - 1)
i = GetInterfaceInfo(arrTmp(0), lOut)
If i <> NO_ERROR Then Exit Sub
CopyMemory lNum, arrTmp(0), 4
Debug.Print lNum; " Network Interface(s) Total!!!"
ReDim aIAIM(lNum - 1)
For i = 0 To lNum - 1
CopyMemory aIAIM(i), arrTmp(4 + i * Len(IAIM)), Len(IAIM)
Debug.Print "Index:"; aIAIM(i).Index; " Name:"; StrConv(aIAIM(0).wsName, vbFromUnicode)
Next

Debug.Print IpReleaseAddress(aIAIM(0)) '斷開第一個網卡
End Sub

Private Sub Command2_Click()
Dim i As Long, lOut As Long, lNum As Long
Dim III As IP_INTERFACE_INFO, arrTmp() As Byte
Dim aIAIM() As IP_ADAPTER_INDEX_MAP, IAIM As IP_ADAPTER_INDEX_MAP
i = GetInterfaceInfo(III, lOut)
ReDim arrTmp(lOut - 1)
i = GetInterfaceInfo(arrTmp(0), lOut)
If i <> NO_ERROR Then Exit Sub
CopyMemory lNum, arrTmp(0), 4
Debug.Print lNum; " Network Interface(s) Total!!!"
ReDim aIAIM(lNum - 1)
For i = 0 To lNum - 1
CopyMemory aIAIM(i), arrTmp(4 + i * Len(IAIM)), Len(IAIM)
Debug.Print "Index:"; aIAIM(i).Index; " Name:"; StrConv(aIAIM(0).wsName, vbFromUnicode)
Next

Debug.Print IpRenewAddress(aIAIM(0)) '恢復第一個網卡
End Sub

禁用/恢復指定網卡。。。

************************************************************

都是API的用法哈。。。。沒什麼好解釋的 = =!抱歉。。。。

C. VB遠程關機代碼

這個我不會。

給電腦定時關機,我使用的是定時關機3000.

定時關機3000有11種執行條件和可以執行電腦定時關機在內的14種任務。

11 種執行條件是:等待多少時間、開機多長時間、全天電腦累計開機多長時間、上傳網速連續多長時間低於多少、下載網速連續多長時間低於多少、電腦空閑多長時間、指定的具體時間、每天的幾點幾分、每周的周幾的幾點幾分、每月那天的幾點幾分、每年的哪天的幾點幾分。

14種執行的任務是;電腦關機、電腦重啟、電腦注銷當前用戶、系統鎖定、電腦睡眠、提醒、關閉顯示器、電腦待機、運行軟體、打開文件、打開網址、關閉軟體、系統垃圾清理和斷開網路。並且可以設置任務開機自動啟動和同時執行多項任務。

D. VB 區域網遠程關機

通過軟體看出區域網內那些電腦在開著那些電腦關著
笨一點的方法就是一台一台的去ping咯,用WMI的pingstate命令
網路上搜一下,很多的

第二個問題可以調用CMD命令來關閉
Function command1_click()
createObject("Wscript.shell").run "cmd /c shutdown -m 192.168.1.2 -s" '修改此處IP
End Function

OK 還有其他的需要直接留言吧 !

E. vb 如何實現遠程式控制制

Winsock控制項就可以。
普通的功能實現是比較簡單的,屏幕監控就不知道了。沒鬧過~!其他的功能還都比較好實現。

不過如果控制端在區域網里的話,可能就復雜了。

F. VB能用代碼通過命令按鈕來控制網路的連接和斷開嗎

小弟才疏學淺,想到了一個辦法,禁用網路服務,禁用是好禁用,
但是啟用後要重新啟動計算機才有效。
添加兩個按鈕,直接輸入下面的代碼:

Option Explicit
Private Sub Command1_Click()
'禁用
Shell "cmd.exe /c net stop SharedAccess & net stop netman", vbHide
End Sub
Private Sub Command2_Click()
'啟用
Shell "cmd.exe /c net start netman & net start SharedAccess", vbHide
End Sub

PS:若想實現的完美還是應該調用API函數。

G. vb中怎樣實現讓一台電腦控制另一台電腦

【回答你】那肯定是完全可以實現的啦,就利用vb自帶的winsock控制項即可搞定你所需的功能,你好好研究研究winsock控制項的詳細解析吧。

這里給你一個超級簡單的控制B電腦的最初A電腦端的說明圖片看看吧,圖片上面的按鈕按下去後、B電腦就會執行按鈕上說明的功能,如A電腦按下「打開光碟機」的按鈕、B電腦的vb程序就去執行打開本機光碟機的功能;如A電腦按下「關閉計算機」的按鈕、B電腦的vb程序就去執行「關機」的功能了。

這個解釋的目的就是:告訴你仔細研究winsock控制項詳細資料(資料網上密密麻麻),你一定會有極大的收獲。如果你不相信而需要感覺一下可以到我的下面地址的留言薄留言找我或在網路中找我。

H. 如何在編的VB.NET程序使用時關閉電腦

有兩種方法,第一種是調用shutdown.exe
shell("shutdown.exe路徑 -s -t 0") '-t是延遲時間,0表示立刻關機
另一種就是使用API了,好像是ExitWindow,你可以去搜索一下其用法。

I. 用vb怎麼關閉win7的網路連接啊求代碼

Option Explicit

Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MAXDEVICETYPE As Integer = 16
Public Const RAS_MAXDEVICENAME As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412
Public Const ERROR_SUCCESS = 0&

Public Type RasEntryName
dwSize As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
End Type

Public Type RasConn
dwSize As Long
hRasConn As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
szDeviceType(RAS_MAXDEVICETYPE) As Byte
szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type

Public Declare Function RasEnumConnections Lib _
"rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As _
Any, lpcb As Long, lpcConnections As Long) As Long

Public Declare Function RasHangUp Lib "rasapi32.dll" Alias _
"RasHangUpA" (ByVal hRasConn As Long) As Long

Public gstrISPName As String
Public ReturnCode As Long

Public Sub HangUp()
Dim i As Long
Dim lpRasConn(255) As RasConn
Dim lpcb As Long
Dim lpcConnections As Long
Dim hRasConn As Long

lpRasConn(0).dwSize = RAS_RASCONNSIZE
lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
lpcConnections = 0
ReturnCode = RasEnumConnections(lpRasConn(0), lpcb, lpcConnections)
If ReturnCode = ERROR_SUCCESS Then
For i = 0 To lpcConnections - 1
If Trim(ByteToString(lpRasConn(i).szEntryName)) = Trim(gstrISPName) Then
hRasConn = lpRasConn(i).hRasConn
ReturnCode = RasHangUp(ByVal hRasConn)
End If
Next i
End If
End Sub

Public Function ByteToString(bytString() As Byte) As String
Dim i As Integer
ByteToString = ""
i = 0
While bytString(i) = 0&
ByteToString = ByteToString & Chr(bytString(i))
i = i + 1
Wend
End Function

閱讀全文

與VB如何通過網路控制關電腦相關的資料

熱點內容
網路共享中心沒有網卡 瀏覽:609
電腦無法檢測到網路代理 瀏覽:1488
筆記本電腦一天會用多少流量 瀏覽:822
蘋果電腦整機轉移新機 瀏覽:1449
突然無法連接工作網路 瀏覽:1213
聯通網路怎麼設置才好 瀏覽:1311
小區網路電腦怎麼連接路由器 瀏覽:1203
p1108列印機網路共享 瀏覽:1280
怎麼調節台式電腦護眼 瀏覽:842
深圳天虹蘋果電腦 瀏覽:1081
網路總是異常斷開 瀏覽:683
中級配置台式電腦 瀏覽:1142
中國網路安全的戰士 瀏覽:705
同志網站在哪裡 瀏覽:1524
版觀看完整完結免費手機在線 瀏覽:1525
怎樣切換默認數據網路設置 瀏覽:1224
肯德基無線網無法訪問網路 瀏覽:1451
光纖貓怎麼連接不上網路 瀏覽:1654
神武3手游網路連接 瀏覽:1041
局網列印機網路共享 瀏覽:1066