我正在 Windows 中编写一个以管理员身份运行的 c++ 应用程序。但是,在调用该system()
命令时,该命令似乎没有管理员权限(无法在C:\Program Files (x86)\
目录中创建文件)。
如何避免使用CreateProcess?
我正在 Windows 中编写一个以管理员身份运行的 c++ 应用程序。但是,在调用该system()
命令时,该命令似乎没有管理员权限(无法在C:\Program Files (x86)\
目录中创建文件)。
如何避免使用CreateProcess?
如果您使用system
,您可以使用:
system("runas /user:<admin-user> \"program.exe\"");
或者ShellExecute
:
ShellExecute(hwnd, "runas", "program.exe", 0, 0, SW_SHOWNORMAL);
这个 Stackoverflow Question很好地
详细说明了这个方法。CreateProcess