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