利用ShellExecuteEx手动提升用户特权,以管理员权限来运行程序。win7会有UAC弹窗
(2011-07-20 10:30:24)
#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
if(!ShellExecuteEx(&sei)){
DWORD dwStatus=GetLastError();
if(dwStatus==ERROR_CANCELLED){
printf("提升权限被用户拒绝\n");
}
else
if(dwStatus==ERROR_FILE_NOT_FOUND){
printf("所要执行的文件没有找到\n");
}
}
return 0;
}
通过命令行,也可以自己自动自己的。