检索服务器特定资源的信息
#Include <NetShare.au3>
_Net_Share_FileGetInfo($sServer, $iFileID)
$sServer | 指定 DNS 或 NetBIOS 远程服务器上执行函数的名称 如果此参数为空, 在本地计算机上使用. |
$iFileID | 返回信息的文件资源标识符 此参数值必须在以前的枚举调用中已返回. |
成功: | 返回以下格式的数组: | |
[0] - 资源打开时分配的 ID | ||
[1] - 与打开的应用程序相关的权限: | ||
1 - 读取和执行资源 | ||
2 - 写入到资源. | ||
4 - 创建资源 | ||
8 - 执行权限 | ||
16 - 删除权限 | ||
32 - 更改属性 | ||
64 - 更改 ACL | ||
[2] - 包含锁定在资源上的文件数 | ||
[3] - 指定打开资源的路径 | ||
[4] - 指定打开资源的用户或计算机 | ||
失败: | 设置@error: |
在MSDN中搜索
#include <GUIConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>
Global $iMemo
_Main()
Func _Main()
Local $sServer, $aFile, $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
$aFile = _Net_Share_FileEnum($sServer)
MemoWrite("Error ...................: " & @error)
MemoWrite("Entries read ............: " & $aFile[0][0])
MemoWrite()
; Get information for each open file (same as $aFile info)
For $iI = 1 To $aFile[0][0]
$aInfo = _Net_Share_FileGetInfo($sServer, $aFile[$iI][0])
MemoWrite("Error ...................: " & @error)
MemoWrite("File permissions ........: " & _Net_Share_PermStr($aInfo[1]))
MemoWrite("File locks ..............: " & $aInfo[2])
MemoWrite("File path ...............: " & $aInfo[3])
MemoWrite("File user ...............: " & $aInfo[4])
MemoWrite()
Next
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; 写入消息到 memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite