A-A+

ShellExecuteEX(获取管理员权限)

2014年05月27日 C++函数 评论 2 条 阅读 913 次

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 条留言  访客:1 条  博主:1 条

  1. yurenchen

    ShellExecuteEx 内部 应该也是 调用

    CreateProcessAsUser 实现的吧?

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

    • admin

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

给我留言

Copyright © C/C++程序员之家 保留所有权利.   Theme  Ality 浙ICP备15011757号-3

用户登录