c++ - 我在哪里可以创建没有管理员权限/特权的目录?

标签 c++ c windows winapi

我正在创建一个与第 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/

相关文章:

c++ - WINAPI SQLite C 无法正确地将数据插入数据库

c++ - 为什么要在 C++ 中使用指向成员方法的函数指针?

c - 为什么 scanf() 在此代码中导致无限循环?

c - 如何控制对无法设为私有(private)的公共(public) C 函数的访问

windows - 更少的 Windows Node.js 挂起

从 URL 下载 Windows 批处理文件文件

c# - 从 C# 休眠计算机

c++ - 继承, parent 在 C++ 中访问 child

c++ - C++ 应用程序是跨平台的吗?

具有相同名称的 C 函数返回不同的数据值