我可以在哪里创建一个没有管理员权限/特权的目录

Where can I create a directory without Administrator Rights / Privileges?

本文关键字:权限 管理员 特权 创建 在哪里 一个 我可以      更新时间:2023-10-16

我正在创建一个与第三方程序一起使用的DLL。第三方程序在Windows中是否具有管理员权限不在我的控制范围内。

DLL需要创建一个目录,但是CreateDirectory似乎不起作用,因为它没有管理员权限。

升级UAC不是一个选项,因为我只修改DLL,而不是第三方程序。我不能强迫用户右键单击第三方程序,然后"以管理员身份运行"。

(Visual c++ 2010)

编辑

我想给C:ProgramData写信。我使用SHGetFolderPath()CSIDL_COMMON_APPDATA检索该路径。

使用CSIDL_APPDATA作为任何用户特定目录/文件的文件夹,否则使用CSIDL_COMMON_APPDATA代替。无论哪种方式,在你的app/DLL的根目录下创建你自己的子文件夹,因为根目录文件夹本身是不被写入的。通常,安装程序应该创建具有足够权限的子文件夹,然后应用程序/DLL可以根据需要访问它。

读取TEMP环境变量,并使用结果创建临时文件和/或目录。

使用APPDATA

请注意,至少APPDATA是用户特定的