來源網站:http://blog.csdn.net/jhui163/article/details/5873027
在看射手源代碼的時候,發現這個函數,是獲取管理員權限的。但是不知道效果如果,先發上來大家測試下。
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);
}
下面是比較明了的代碼,來自評論
void GainAdminPrivileges(CString strApp,UINT idd){
CString strCmd;
strCmd.Format (_T("/adminoption %d"), idd);
SHELLEXECUTEINFO execinfo;
memset(&execinfo, 0, sizeof(execinfo));
execinfo.lpFile = strApp;
execinfo.cbSize = sizeof(execinfo);
execinfo.lpVerb = _T("runas");
execinfo.fMask = SEE_MASK_NO_CONSOLE;
execinfo.nShow = SW_SHOWDEFAULT;
execinfo.lpParameters = strCmd;
ShellExecuteEx(&execinfo);
}
strApp是應用程序的路徑idd我傳的是1,但好像傳幾都沒問題
手動修改程序以管理員身份運行
來源網站:http://blog.csdn.net/zhangyulin54321/article/details/8802023
