利用ShellExecuteEx手動提升使用者特權,以管理員許可權來執行程式
阿新 • • 發佈:2019-02-07
#include <stdio.h>
#include<windows.h>
#include<tchar.h>
int _tmain(int argc,TCHAR* argv[])
{
SHELLEXECUTEINFO sei={sizeof(SHELLEXECUTEINFO)};
sei.lpVerb=TEXT("runas");
sei.lpFile=TEXT("cmd.exe");//add application which you want to run as administrator here
sei.nShow=SW_SHOWNORMAL;//without this,the windows will be hiden
if(!ShellExecuteEx(&sei)){
DWORD dwStatus=GetLastError();
if(dwStatus==ERROR_CANCELLED){
printf("提升許可權被使用者拒絕\n");
}
else
if(dwStatus==ERROR_FILE_NOT_FOUND){
printf("所要執行的檔案沒有找到\n");
}
}
return 0;
}
以一個非管理員許可權的程式執行 其它程式,提升許可權
a call b b call c a開機啟動 a不能具有管理員許可權 a call b的時候就要提升許可權了!