ShellExecuteEX(获取管理员权限)

ShellExecuteEX(获取管理员权限)

ShellExecuteEx取得管理员权限,ShellExecuteEx取得管理员权限
[cpp]

void GainAdminPrivileges(UINT idd, BOOL bWait){
CString strCmd;
CString strApp;

strCmd.Format (_T(“/adminoption %d”), idd);

CSVPToolBox svpTool;
strApp = svpTool.GetPlayerPath();
SHELLEXECUTEINFO execinfo;
memset(&execinfo, 0, sizeof(execinfo));
execinfo.lpFile = strApp;
execinfo.cbSize = sizeof(execinfo);
execinfo.lpVerb = _T(“runas”);
execinfo.fMask = SEE_MASK_NOCLOSEPROCESS;
execinfo.nShow = SW_SHOWDEFAULT;
execinfo.lpParameters = strCmd;

ShellExecuteEx(&execinfo);

if(bWait)
WaitForSingleObject(execinfo.hProcess, INFINITE);
}

[/cpp]

2 Replies to “ShellExecuteEX(获取管理员权限)”

  1. ShellExecuteEx 内部 应该也是 调用

    CreateProcessAsUser 实现的吧?

    不知道 具体是怎样的, 想要 实现 类似 ShellExecuteEx RunAs 的效果, 并且 要 CreateProcess 那种 自定义 输入输出 管道.

    1. 是的,具体没有研究过,不过原博主文章总结的很好!