【转载请注明出处:http://blog.csdn.net/zjbpku/article/details/7756807】
1.使用vc 建立win32 Application 工程,点击OK,选择“A typical “Hello World” Application,选择finish---->OK
2.在程序中添加如下代码 :
BOOL EnableShutDownPriv()
{
HANDLE hToken = NULL;
TOKEN_PRIVILEGES tkp = {0};
if ( !OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) ) {
return FALSE;
}
if ( !LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid ) ) {
CloseHandle( hToken );
return FALSE;
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if ( !AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof(TOKEN_PRIVILEGES), NULL, NULL ) ) {
CloseHandle( hToken );
return FALSE;
}
return TRUE;
}
#define EWX_FORCEIFHUNG 0x00000010
BOOL ReSetWindows(DWORD dwFla