使程序以管理员权限运行(C++)



来源网站: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

转载于:https://www.cnblogs.com/lovelyx/p/4867151.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值