导航:首页 > 网络信号 > 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
网络总是异常断开 浏览:684
中级配置台式电脑 浏览:1142
中国网络安全的战士 浏览:705
同志网站在哪里 浏览:1524
版观看完整完结免费手机在线 浏览:1525
怎样切换默认数据网络设置 浏览:1224
肯德基无线网无法访问网络 浏览:1451
光纤猫怎么连接不上网络 浏览:1654
神武3手游网络连接 浏览:1041
局网打印机网络共享 浏览:1066