返回服务器上打开的文件信息
#Include <NetShare.au3>
_Net_Share_FileEnum([$sServer = ""[, $sBaseName = ""[, $sUserName = ""]]])
$sServer | [可选参数] 包含服务器执行函数的名称 留空则指定本地计算机. |
$sBaseName | [可选参数] 包含返回信息的限定符. 如果为空, 则枚举所有打开的资源 如果不为空, 函数枚举有 $sBaseName 前缀的唯一资源. |
$sUserName | [可选参数] 指定用户名. 如果不为空, $sUserName 作为枚举的限定符. |
成功: | 返回以下格式的数组: | |
[0][0] - 数组条目数量 (n) | ||
[1][0] - 资源打开时分配的 ID | ||
[1][1] - 与打开的应用程序相关的权限: | ||
1 - 读取和执行资源 | ||
2 - 写入到资源. | ||
4 - 创建资源 | ||
8 - 执行权限 | ||
16 - 删除权限 | ||
32 - 更改属性 | ||
64 - 更改 ACL | ||
[1][2] - 包含锁定在资源上的文件数 | ||
[1][3] - 指定打开资源的路径 | ||
[1][4] - 指定打开资源的用户或计算机 | ||
失败: | 设置@error: |
在MSDN中搜索
#include <GUIConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>
Global $iMemo
_Main()
Func _Main()
Local $sServer, $aInfo
; 创建 GUI
GUICreate("NetShare", 400, 300)
; 创建 memo 控件
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; Get server and share information
$sServer = InputBox("NetWork Demo", "Enter Server Name:", "\\MyServer", "", 200, 130)
If @error Then Exit
; Enumerate open files on the server
$aInfo = _Net_Share_FileEnum($sServer)
MemoWrite("Error ...................: " & @error)
MemoWrite("Entries read ............: " & $aInfo[0][0])
For $iI = 1 To $aInfo[0][0]
MemoWrite("Resource ID .............: " & $aInfo[$iI][0])
MemoWrite("Resource permissions ....: " & _Net_Share_PermStr($aInfo[$iI][1]))
MemoWrite("Resource locks ..........: " & $aInfo[$iI][2])
MemoWrite("Resource path ...........: " & $aInfo[$iI][3])
MemoWrite("Resource user ...........: " & $aInfo[$iI][4])
MemoWrite()
Next
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; 写入消息到 memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite