首页 > 解决方案 > 在哪里可以创建没有管理员权限的目录?

问题描述

我正在尝试使用我的程序创建一个目录,但该程序不会在管理员下运行。在没有管理员权限的情况下,我可以在 Windows 文件系统的哪个位置创建目录并写入该目录?

标签: windowswinapifilesystems

解决方案


如果没有管理员权限,预期的行为是您可以写入用户帐户文件夹内的文件夹。

C:\用户\%用户名%\

您可以写入文档、图片和音乐子文件夹,AppData\Roaming 或 AppData\Local\ 等...

正如评论中提到的,SHGetKnownFolderPath是获取这些文件夹路径的首选方法,这是一个简单的示例:

#include <windows.h>
#include <iostream>
#include <shlobj_core.h>

int main()
{
    PWSTR path = nullptr;

    SHGetKnownFolderPath(FOLDERID_Documents, 0, 0, &path);

    std::cout << path << std::endl;

    std::getchar();
    return 0;
}

推荐阅读