本帖最后由 xyhqqaa 于 2013-5-23 00:53 编辑
新手求助,工作需要,想弄个小东东。获取局域网内电脑的共享文件夹列表。现在测试自己电脑可以获取到列表。但是只是增加按钮而已。无法点击按钮打开相应文件夹,有点郁闷。
求指教下。哪里错了。还有个两个小问题,点击确定按钮的时候,如果实现删除清空之前获取的按钮。因为如果再次按下确定,就会叠加按钮。。头疼!!最后一个是关于_Net_Share_ShareEnum
,帮助上写的是检索服务器上资源共享的信息,但实际上我只需要获取C$,D$,E$之类的硬盘盘符,像IPC$,共享文件夹之类的就不需要显示了。
_Net_Share_FileGetInfo检索服务器特定资源的信息,不知道如何应用!
。。。。不知道写这么多有没有大哥能理解俺的意思不。。。。。能帮忙给点方法,感激不尽!!
代码如下#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <NetShare.au3>
#region ### START Koda GUI section ### Form=
Local $server, $button[100]
Local $posx=0, $posy=1
;Opt("GUIOnEventMode", 1);启用EventMode
;GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "main")
$Form1 = GUICreate("Form1", 434, 507)
$Label = GUICtrlCreateLabel("计算机名:", 8, 16, 72, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input = GUICtrlCreateInput("", 80, 16, 209, 21)
;$SERVER = GUICtrlRead($Input)
$OK = GUICtrlCreateButton("确定", 304, 16, 123, 25)
$Group = GUICtrlCreateGroup("", 8, 48, 417, 449)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState()
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
$server = @ComputerName
$share = _Net_Share_ShareEnum($server)
$IPING = Ping($server, 250)
If $IPING = 0 Then MsgBox("", "", "连接错误,检测下网络啦!看自己网络有木有问题,或者对方网络有木有问题")
For $i = 1 To $share[0][0]
If Mod($i, 6) = 0 And $i <> 0 Then
$posx += 1
$posy = 1
EndIf
$button[$share[0][0]] = GUICtrlCreateButton($share[$i][0], 30 + $posx * 180, 75 * $posy - 15, 180, 30)
;GUICtrlSetOnEvent($button[$share[0][0]] , "main")
$posy += 1
Next
EndSwitch
WEnd
#cs
Func main()
For $i = 1 To $share[0][0]
Switch @GUI_CtrlId
Case -3
Exit
Case $button[$share[$i][0]]
MsgBox(0, "第 " & $i & " 个按钮", "我是按钮 " & $i & " 号!", 0, $Form1)
EndSwitch
Next
EndFunc
#ce
|