vb如何判断局域网上某一台设备是否开机?

vb如何判断局域网上某一台设备是否开机?

知道该计算机名或IP?追问

计算机名SMSZFILE

追答

可以使用Winsock控件:
设置它的
Winsock1.RemoteHost = SMSZFILE '要连接测试的计算机名
Winsock1.RemotePort = "135" '测试计算机的135号端口
Winsock1.Connect '使用Connect方法,连接侦听对方计算机

'然后,根据它的State属性,获得是否连接成功
Winsock1.State

State 属性的设置值是:
常数 值 描述
sckClosed 0 缺省的。 关闭
sckOpen 1 打开
sckListening 2 侦听
sckConnectionPending 3 连接挂起
sckResolvingHost 4 识别主机
sckHostResolved 5 已识别主机
sckConnecting 6 正在连接
sckConnected 7 已连接
sckClosing 8 同级人员正在关闭连接
sckError 9 错误

自己编写一个函数,在一定的时间内(若干秒钟)里,不断侦听State的值,只要7就表示连接成功,在该时间里不等于7,就表示该计算机不存在(或没有开机)。

追问

代码怎么写呢?

追答

我给你临时做了一个,注意:其中 计算机名请按照实际情况修改!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-15
可以用inet这个控件
也可以用SHELL "PING IPADDRESS>>C:\TEMP.TMP"这样的方式回显
还可以用管道本回答被网友采纳
第2个回答  2014-04-15
间隔一段时间ping它一下啊追问

vb代码怎么写?

相似回答