|
不必使用Shell,以下代码实现连接并返回连接结果
Function 连接计算机 Lib "mpr.dll" Alias "WNetAddConnection2A" (lpNetResource As 连接数据, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long
Type 连接数据
dwScope As Long
dwType As Long
dwDisplayType As Long
dwUsage As Long
lpLocalName As String
lpRemoteName As String
lpComment As String
lpProvider As String
End Type
Public Function 是否开机(路径, 盘符, 密码, 用户名) As Boolean
Dim 连接参数 As 连接数据
连接参数.lpLocalName = 盘符
连接参数.lpRemoteName = 路径
连接参数.dwType = &H1
连接结果 = 连接计算机(连接参数, 密码, 用户名, 0)
Select Case 连接结果
Case 1203:
是否开机 = False
MsgBox "无任何网络提供程序接受指定的网络路径(包括电脑未开机,路径错误)"
Case 0:
是否开机 = True
MsgBox "连接成功"
Case Else:
是否开机 = True
MsgBox "对方电脑在线(有些其他情况)"
End Select
End Function |
|