讓電腦關機(VC)

環境:win8 VS2015

void CMFC_shutdownDlg::OnBnClickedOk()
{
	// TODO: 在此添加控件通知處理程序代碼
	//CDialogEx::OnOK();
	if (IDNO == MessageBoxW(_T("是否關機?"), _T("提示"), MB_YESNO | MB_ICONQUESTION))
	{
		return;
	}
	

	HANDLE hToken;
	TOKEN_PRIVILEGES tkp;

	OpenProcessToken(GetCurrentProcess(),
		TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);

	// Get the LUID for the shutdown privilege. 

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

	tkp.PrivilegeCount = 1;  // one privilege to set    
	tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

	// Get the shutdown privilege for this process. 

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

	ExitWindowsEx(EWX_POWEROFF, 0);

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章