fuinei 发表于 2012-11-3 10:21:39

关于判断共享路径是否存在/能否访问的方法

如果需判断\\192.168.1.100\test目录是否存在/能否访问,而访问该共享目录需使用帐号test,密码:123456,我目前的思路是把共享路径映射为盘符,再使用fileexists判断映射盘是否存在来实现,如:
$IPAddress = "192.168.1.100"
$Delete_drivey = 'net use /delete y:'
$Add_drivey = 'net use y: \\' & $IPAddress & '\test "123456" /user:"test"'
Runwait($Delete_drivey,@SystemDir,@SW_HIDE)
Runwait($Add_drivey,@SystemDir,@SW_HIDE)
If FileExists("y:\") Then
        MsgBox(0,"","Connect OK")
        Runwait($Delete_drivey,@SystemDir,@SW_HIDE)
Else
        MsgBox(48,"Error","Connect fail.")
EndIf
请问各位有没有其它的方法或思路呢?

netegg 发表于 2012-11-4 00:18:18

本帖最后由 netegg 于 2012-11-4 01:01 编辑

_Net_Share_ConnectionEnum

#Include <WinAPIEx.au3>
_WinAPI_IsPathShared

fuinei 发表于 2012-11-5 17:57:00

回复 2# sliqi

谢谢指导,AU3现成的函数确实很不错

fuinei 发表于 2012-11-5 18:16:58

回复 3# netegg

谢谢netegg元老的指导, _Net_Share_ConnectionEnum对于我目前的情况不太适用(共享路径需验证用户名和密码),而_WinAPI_IsPathShared函数在我的Autoit帮助文档(3.3.9.5)中未找到,请问netegg元老使用什么版本有这个函数呢?

netegg 发表于 2012-11-5 18:52:50

回复 7# fuinei

看winapiex的版本 3.8的

fuinei 发表于 2012-11-6 12:20:19

回复 8# netegg
谢谢netegg元老的回复,但目前自动更新到的版本3.3.9.4中winapiex版本只是3.7,请问winapiex 3.8是否需要单独下载呢?

netegg 发表于 2012-11-6 13:11:05

回复 9# fuinei
exe的帮助里带的winapiex是3.8的

fuinei 发表于 2012-11-6 14:56:48

回复 10# netegg

请问netegg元老exe的帮助指的是什么呢?
我在论坛中搜索了netegg元老的autoit3udf.exe,附件中下载的winapiex.au3版本为3.6

netegg 发表于 2012-11-6 15:17:20

回复 11# fuinei
那个版本号没改,函数库是3.8的

fuinei 发表于 2012-11-6 16:07:34

回复 12# netegg

谢谢提醒,autoit3udf.exe中下载的winapiex.au3有函数_WinAPI_IsPathShared,但测试时有报错,测试代码如下:
#include<WinAPIEx.au3>
$Result = _WinAPI_IsPathShared("\\192.168.1.100\test")
MsgBox("","",$Result)
报错信息如下:
"F:\autoit3\Include\WinAPIEx.au3" (29242) : ==> :
If Not __DLL('ntshrui.dll') Then
If Not __DLL^ ERROR
请问除更新WinAPIEx.au3外是否还需要更新其它函数库呢?

netegg 发表于 2012-11-6 16:58:50

什么系统,是不是没那个dll

fuinei 发表于 2012-11-6 17:45:04

回复 15# netegg

Windows XP SP3 32位中文版,我搜索了一下c:\windows\system32目录下有ntshrui.dll

netegg 发表于 2012-11-6 18:06:49

回复 16# fuinei
那用不了了,我这系统是win7,没问题

fuinei 发表于 2012-11-7 09:32:26

本帖最后由 fuinei 于 2012-11-7 09:33 编辑

回复 17# netegg

我电脑安装了32位WinXP+64位Win7双系系统,我在Win7测试也有相同的报错,Win7系统的system32目录下也有文件ntshrui.dll,真奇怪,请问64位Win7也不能使用吗?

netegg 发表于 2012-11-7 10:18:02

回复 18# fuinei
这就不清楚了,我用的是32位的
页: [1] 2
查看完整版本: 关于判断共享路径是否存在/能否访问的方法