我正在创建一个与第 3 方程序一起使用的 DLL。第三方程序在 Windows 中是否具有管理员权限是我无法控制的。
DLL需要创建一个目录,但是CreateDirectory好像不行,因为它没有管理员权限。
升级 UAC 不是一个选项,因为我只是修改 DLL,而不是第 3 方程序。我无法强制用户右键单击第 3 方程序并“以管理员身份运行”。
(视觉 C++ 2010)
编辑
我正在尝试写入 C:\ProgramData\
。我使用 SHGetFolderPath()
和 CSIDL_COMMON_APPDATA
检索该路径。
最佳答案
使用CSIDL_APPDATA
作为任何用户特定目录/文件的根 文件夹,否则使用CSIDL_COMMON_APPDATA
。无论哪种方式,在为您的应用程序/DLL 选择的 root 下创建您自己的子文件夹,因为 root 文件夹本身受到保护,不会被写入。通常,安装程序应该为您创建具有足够权限的子文件夹,然后应用程序/DLL 可以根据需要访问它。
关于c++ - 我在哪里可以创建没有管理员权限/特权的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22462273/