【问题标题】:C++ copy file into folder with admin permissionsC ++将文件复制到具有管理员权限的文件夹中
【发布时间】:2018-02-14 04:01:54
【问题描述】:

我想将文件复制到需要管理员权限的文件夹中。

例子:

string oldPath = "C:\\Users\\Sony\\Desktop\\a.txt";
string newPath = "C:\\ProgramData\\Microsoft\\Network\\a.txt";

int main (){
     MoveFile(oldPath.c_str(), newPath.c_str());

     // now I have to send the permission, because the file won't be copied

     return 0;
}

如何发送这些权限以将文件复制到此类文件夹中?

谢谢大家

【问题讨论】:

标签: c++ file copy directory admin


【解决方案1】:

以管理员身份运行.exe文件。

【讨论】:

    【解决方案2】:

    你有几个选择:

    1. 以管理员身份运行应用程序。这为整个应用程序的整个生命周期提供了管理员权限。你应该尽量不要这样做,除非你的整个应用程序真的需要管理员权限。否则,尽量以最少的权限运行。

    2. 仅在文件复制期间暂时获得管理员访问权限:

      • impersonate 管理员用户,复制文件,完成后恢复为原始用户。

      • 将文件复制逻辑移动到可以使用ShellExecute/Ex("runas")提升权限运行的单独进程。

      • 将文件复制逻辑移动到可以使用COM Elevation Moniker 提升权限运行的 COM 对象。

    【讨论】:

    • 能否给我一个代码示例供您选择?
    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 2016-01-18
    • 2018-05-20
    • 2011-12-19
    • 2015-02-13
    • 2019-08-06
    相关资源
    最近更新 更多