标题: 想用VBS来实现搜索局域网共享目录。能力不够请帮忙
[打印本页]
作者: hackhd
时间: 2008-2-12 03:27
标题: 想用VBS来实现搜索局域网共享目录。能力不够请帮忙
下面的是代码是网上copy来的。还有报错
welcome_msg = "网络连接搜索测试"
Set WSHNetwork = WScript.CreateObject("WScript.Network") '创建一个网络对象
Set oPrinters = WshNetwork.EnumPrinterConnections '’创建一个网络打印机连接列表
WScript.Echo "Network printer mappings:"
For i = 0 to oPrinters.Count - 1Step2 ' ’显示网络打印机连接情况
WScript.Echo "Port "&oPrinters.Item(i)& " = " & oPrinters.Item(i+1)
Next
Set colDrives = WSHNetwork.EnumNetworkDrives ' ’创建一个网络共享连接列表
If colDrives.Count = 0 Then
MsgBox "没有可列出的驱动器。"
vbInformation + vbOkOnly,welcome_msg
Else
strMsg = "当前网络驱动器连接: " &CRLF
Fori=0To colDrives.Count - 1 Step 2
strMsg = strMsg & Chr(13)&Chr(10)&colDrives(i) & Chr(9)&colDrives(i+1)
Next
MsgBox strMsg, vbInformation + vbOkOnly,
welcome_msg '显示当前网络驱动器连接
End If
作者: slore
时间: 2008-2-12 04:42
welcome_msg
= "
网络连接搜索测试"
Set WSHNetwork
= WScript.
CreateObject("
WScript.Network"
) '创建一个网络对象
Set oPrinters
= WshNetwork.EnumPrinterConnections
'创建一个网络打印机连接列表
WScript.Echo "
Network printer mappings:"
For i
= 0
To oPrinters.Count
- 1
Step 2
'显示网络打印机连接情况
WScript.Echo "
Port "
&oPrinters.Item
(i
) & "
= "
& oPrinters.Item
(i
+ 1
)
Next
Set colDrives
= WSHNetwork.EnumNetworkDrives
'创建一个网络共享连接列表
If colDrives.Count
= 0
Then
MsgBox "
没有可列出的驱动器。"
vbInformation + vbOkOnly,welcome_msg
Else
strMsg
= "
当前网络驱动器连接: "
& vbCrLf
For i
= 0
To colDrives.Count
- 1
Step 2
strMsg
= strMsg
& Chr(13
) & Chr(10
) & colDrives
(i
) & Chr(9
) & colDrives
(i
+ 1
)
Next
MsgBox strMsg,
vbInformation + vbOkOnly,welcome_msg
'显示当前网络驱动器连接
End If
我没有局域网。。。无法测试……
作者: hackhd
时间: 2008-2-12 17:31
vbInformation + vbOkOnly,welcome_msg '这句还是报错
我在虚拟机上面把一个盘共享了,在我机器上能够搜索打开虚拟机共享的盘。
但是用VBS它还是检测不出来 没有可列出的驱动器
作者: slore
时间: 2008-2-12 17:39
那句。。。你应该知道msgbox的参数吧
welcome_msg
= "
网络连接搜索测试"
Set WSHNetwork
= WScript.
CreateObject("
WScript.Network"
) '创建一个网络对象
Set oPrinters
= WshNetwork.EnumPrinterConnections
'创建一个网络打印机连接列表
WScript.Echo "
Network printer mappings:"
For i
= 0
To oPrinters.Count
- 1
Step 2
'显示网络打印机连接情况
WScript.Echo "
Port "
&oPrinters.Item
(i
) & "
= "
& oPrinters.Item
(i
+ 1
)
Next
Set colDrives
= WSHNetwork.EnumNetworkDrives
'创建一个网络共享连接列表
If colDrives.Count
= 0
Then
MsgBox "
没有可列出的驱动器。",
vbInformation + vbOkOnly,welcome_msg
Else
strMsg
= "
当前网络驱动器连接: "
& vbCrLf
For i
= 0
To colDrives.Count
- 1
Step 2
strMsg
= strMsg
& Chr(13
) & Chr(10
) & colDrives
(i
) & Chr(9
) & colDrives
(i
+ 1
)
Next
MsgBox strMsg,
vbInformation + vbOkOnly,welcome_msg
'显示当前网络驱动器连接
End If
作者: hackhd
时间: 2008-2-12 18:22
只是只是。我模似局域网有别的机器共享了盘,连打印机都共享了,运行这段VBS还是一样没有找到
作者: slore
时间: 2008-2-12 18:26
那就是对象问题……我是单机没有办法测试。。。重新找找代码对象吧。
作者: zcnvnv
时间: 2008-2-12 18:26
用for取ipconfig的本机IP前3段,再用for向*.*.*.1~255挨个view
代码懒的写了,自己动手丰衣足食。。
作者: hackhd
时间: 2008-2-12 18:46
Wscrīpt.NetWork —> 提供网络连接和远程打印机管理的函数。(其中,所有scrīpting对象都存放在SCRRUN.DLL文件中,所有的Wscrīpt对象都存放在WSHOM.ocx文件中。)
找了一会,这个对象应该是正确的,