Ik heb erg me best gedaan, maar kon nergens in de search iets vinden hierover.
Ik heb de volgende code ergens van internet gejat:
Ik begreep dat je voor windows NT het shutdown privilage moete hebben om te kunnen afsluiten. Hij haalt dat dus op, maar wat ik ook voor commando meegeef aan deze routine (ewx_reboot, ewx_poweroff, whatever) hij gaat het systeem rebooten!
Misschien iemand wat meer ervaring mee?
Ik heb de volgende code ergens van internet gejat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| procedure FermerWindows(flag: integer); var sTokenIn,sTokenOut : _TOKEN_PRIVILEGES ; dwLen : DWORD ; hCurrentProcess,hToken : THANDLE ; Luid1 : TLargeInteger ; osVer: OSVERSIONINFO; begin try hCurrentProcess := GetCurrentProcess ; //ajuste les privilèges, c ce ki est necessaire pour windows XP OpenProcessToken (hCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken); LookupPrivilegeValue(nil,'SeShutdownPrivilege',Luid1) ; sTokenIn.PrivilegeCount := 1; sTokenIn.Privileges[0].Luid := Luid1; sTokenIn.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken,FALSE,sTokenIn,sizeof(TTOKENPRIVILEGES),sTokenOut,dwLen); CloseHandle (hToken); finally application.ProcessMessages; //redemarre ExitWindowsEx(flag, 0); end; end; |
Ik begreep dat je voor windows NT het shutdown privilage moete hebben om te kunnen afsluiten. Hij haalt dat dus op, maar wat ik ook voor commando meegeef aan deze routine (ewx_reboot, ewx_poweroff, whatever) hij gaat het systeem rebooten!
Misschien iemand wat meer ervaring mee?
Zie ook 123-3D voor 3D-printer stuff