找回密码
 加入
搜索
查看: 2017|回复: 6

[AU3基础] FileExists无法判断CLSID特定文件夹

  [复制链接]
发表于 2016-7-15 17:19:25 | 显示全部楼层 |阅读模式
本帖最后由 shaluoshuxia 于 2016-7-15 17:28 编辑

比如:
$path = “::{031E4825-7B94-4DC3-B131-E946B44C8DD5}” ;Libraries文件夹CLSID,该文件夹存在
ConsoleWrite(FileExists($path))

此时FileExists()返回0,文件夹不存在。
看来FileExists()函数不支持CLSID。

请问,有什么方法可以判断CLSID特殊文件夹是否存在?
发表于 2016-7-15 23:40:49 | 显示全部楼层
用注册表试试
发表于 2016-7-16 20:29:18 | 显示全部楼层

#include <WinAPIShellEx.au3>
$DirDownload=_WinAPI_ShellGetKnownFolderPath('{374DE290-123F-4565-9164-39C4925E467B}')
MsgBox(0,'',$DirDownload)

发表于 2016-7-16 22:47:41 | 显示全部楼层
回复 3# 虫子樱桃


    API有这个,牛逼收藏了
发表于 2016-7-17 23:10:36 | 显示全部楼层
学习了。。。。
 楼主| 发表于 2016-7-18 10:53:19 | 显示全部楼层
本帖最后由 shaluoshuxia 于 2016-7-18 10:54 编辑

回复 3# 虫子樱桃

多谢大樱桃给出的API函数,不过我验证过了_WinAPI_ShellGetKnownFolderPath支持GUID不支持CLSID。
同样的CLSID
FileSelectFolder("选择文件夹.", "::{645FF040-5081-101B-9F08-00AA002F954E}", 1)就可以打开指定的路径。

Local Const $sFOLDERID_wrong = "::{645FF040-5081-101B-9F08-00AA002F954E}"
ConsoleWrite('"' & _WinAPI_ShellGetKnownFolderPath($sFOLDERID_wrong) & '" @error = ' & @error & ' @extended = 0x' & Hex(@extended) & @CRLF)
_WinAPI_ShellGetKnownFolderPath($sFOLDERID_wrong)显示为空。

改成Local Const $sFOLDERID_wrong = "{645FF040-5081-101B-9F08-00AA002F954E}"
同样显示为空。
发表于 2016-7-19 07:33:20 | 显示全部楼层
又是一个API,学习了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 22:34 , Processed in 0.079346 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表