获取可识别的已知文件夹的完整路径
#Include <WinAPIEx.au3>
_WinAPI_ShellGetKnownFolderPath ( $GUID [, $iFlags [, $hToken]] )
$GUID | 系统标准文件夹的标识 GUID ($FOLDERID_*). |
$iFlags | [可选参数] 检索选项. 参数可以是一或多个下列值: $KF_FLAG_CREATE --- 如果该文件夹不存在,强制创建指定的文件夹 $KF_FLAG_DONT_VERIFY --- 在检索路径或 IDList 之前,不验证该文件夹的存在 $KF_FLAG_DONT_UNEXPAND --- 使用注册表中存储的完整路径,而不使用环境字符串 $KF_FLAG_NO_ALIAS --- 获取任何别名文件夹 $KF_FLAG_INIT --- 使用 Desktop.ini 初始化文件夹.此标志应始终结合 KF_FLAG_CREATE $KF_FLAG_DEFAULT_PATH --- 获取已知文件夹的默认路径 $KF_FLAG_NOT_PARENT_RELATIVE --- 获取文件夹的默认路径,与父层位置无关,.必须同时设置 KF_FLAG_DEFAULT_PATH $KF_FLAG_SIMPLE_IDLIST --- 构建一个简单的 IDList (PIDL).检索期望的文件系统路径 *Windows 7 或更高系统 $KF_FLAG_ALIAS_ONLY --- 只返回别名 PIDL.不使用文件系统路径 |
$hToken | [可选参数] 代表一个特定用户的访问令牌. 如果此参数为 0, 函数使用当前用户已知的文件夹 指定 $hToken 参数值为 -1,表示默认用户.请注意,文件夹的默认用户需要管理员访问权限. |
成功: | 返回已知文件夹的路径. |
失败: | 返回空字符串,设置@error标志为非 0 值, @extended 标志可能包含一个系统错误代码. |
在MSDN中搜索
#Include <APIConstants.au3>
#Include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
If _WinAPI_GetVersion() < '6.0' Then
MsgBox(16, 'Error', 'Require Windows Vista or later.')
Exit
EndIf
ConsoleWrite(_WinAPI_ShellGetKnownFolderPath($FOLDERID_SendTo, 0, -1) & @CR)
ConsoleWrite(_WinAPI_ShellGetKnownFolderPath($FOLDERID_SendTo) & @CR)