如何在打开的管理员程序中调用system()并赋予其相同的权限?

0x9*_*x90 4 c++ windows windows-7

我正在 Windows 中编写一个以管理员身份运行的 C++ 应用程序。但是,在调用该system()命令时,该命令似乎没有管理员权限(无法在C:\Program Files (x86)\目录中创建文件)。

如何避免使用CreateProcess

Ser*_*lis 5

如果您使用,system则可以使用:

system("runas /user:<admin-user> \"program.exe\"");
Run Code Online (Sandbox Code Playgroud)

或者ShellExecute

ShellExecute(hwnd, "runas", "program.exe", 0, 0, SW_SHOWNORMAL);
Run Code Online (Sandbox Code Playgroud)

这个 Stackoverflow Question非常详细地
介绍了该方法。CreateProcess