void   ShutDown()   
  {   
    
  if     (dwVersion     <         0x80000000)     //   for   win2000   or   later   
  {   
  TOKEN_PRIVILEGES   tkp,tkpnewbutignored;   
  HANDLE   hdltokenhandle;   
  LUID   tmpluid;   
  BOOL   rc;   
  DWORD   lbufferneeded;   
  HANDLE     hdlprocesshandle   =   GetCurrentProcess();   
  rc   =   OpenProcessToken(hdlprocesshandle,TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,   &hdltokenhandle);   
  rc   =   LookupPrivilegeValue("","SeShutdownPrivilege",   &tmpluid);   
  tkp.PrivilegeCount   =   1;   //   one   privilege   to   set   
  tkp.Privileges[0].Luid   =   tmpluid;   
  tkp.Privileges[0].Attributes   =   SE_PRIVILEGE_ENABLED;   
  rc   =   AdjustTokenPrivileges(hdltokenhandle,FALSE,&tkp,sizeof(tkpnewbutignored),&tkpnewbutignored,   &lbufferneeded);   
  ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,     0);   
  }   
  else     //   for   win9X   
  {   
  ExitWindowsEx(EWX_SHUTDOWN,0);   
  }