BOOL shutdownHost(LPCTSTR ip)
{
     HANDLE hToken; 
 TOKEN_PRIVILEGES tkp; 
   BOOL fResult; 
 if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
     MessageBox(NULL, "OpenProcessToken failed.", "", NULL); 
 
 LookupPrivilegeValue((TCHAR *)ip, SE_SHUTDOWN_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) 
 {
  ShowError();   //  显示我没有权限 问怎么得到
 }fResult = InitiateSystemShutdown((TCHAR *)ip,  "Click on the main window and press the Escape key to cancel shutdown.",  1,  FALSE,   FALSE); if (GetLastError() != ERROR_SUCCESS) 
 {
  ShowError();
 }
return TRUE;
}