我正在使用win32函数FindFirstFileEx&来搜索文件。 FindNextFile。
但是当我尝试在目录C:\ Program Files中搜索文件时,我的功能失败了&我很确定GetLastError()是因为目录是特权和&我无法访问它。
有没有办法让用户询问&获得对程序文件目录的特权访问
或C:/ windows所以我可以在其中搜索?
或者是一个不同的win32函数,允许自己在这个目录中搜索?
或者也许根本不需要程序来搜索这些目录,所以没有办法做到这一点?
答案 0 :(得分:0)
这有点偏离主题,但是......
你知道现在用C ++处理任何平台上的文件真的很棒吗?的 Boost.Filesystem的强>
http://www.boost.org/doc/libs/1_45_0/libs/filesystem/v3/doc/index.htm
您应该可以跳过您无权访问的目录。
Windows Token API可能会让您找到该提示的正确轨道:
答案 1 :(得分:0)
或者是一个不同的win32函数,允许自己在这个目录中搜索? 您可以尝试使用 cmd.exe 对该文件夹运行 dir 命令,并将目录列表捕获到临时文件中。
例如,您可以使用CreateProcess Win32 API来运行此命令:
cmd.exe /k dir "c:\Program Files" > c:\temp\files.txt
并且目录中的文件列表将写入 c:\ temp \ files.txt 临时文件。