为编写的Windows程序提升权限

时间:2014-05-21 13:54:20   收藏:0   阅读:505

    1.要求以管理员身份运行

    在vs工程属性中,Linker ---> Manifest File---> UAC Execution Level,选择requireAdministrator (/level=‘requireAdministrator‘)选项

bubuko.com,布布扣


bubuko.com,布布扣
bubuko.com,布布扣
    2.在main函数开始时运行以下函数代码:

BOOL WINAPI EnablePrivileges()  
{  
	HANDLE hToken;   
	TOKEN_PRIVILEGES tkp;   

	if (!OpenProcessToken(GetCurrentProcess(),   
		TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))   
		return( FALSE );   

	LookupPrivilegeValue(NULL, SE_DEBUG_NAME,   
		&tkp.Privileges[0].Luid);   

	tkp.PrivilegeCount = 1;   
	tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;   

	AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,   
		(PTOKEN_PRIVILEGES)NULL, 0);   

	if (GetLastError() != ERROR_SUCCESS)   
		return FALSE;   

	return TRUE;  
} 


为编写的Windows程序提升权限,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!