007
14.11.2005, 20:17 Uhr
xXx
Devil
|
hmm 1. benutz ShellExecute system ist alt... 2. guck dir mal InitiateSystemShutdown an... 3. Hier mal der Code um Windows XP sauber herunter zu fahren...
C++: |
BOOL SystemShutdown() { HANDLE hToken; TOKEN_PRIVILEGES tkp; // Einen Token für den Prozess holen. if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) return( FALSE );
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); tkp.PrivilegeCount = 1; // ein Privileg zum setzten tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; // Die Herunterfahrrechte für diesen Prozess besorgen. AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (GetLastError() != ERROR_SUCCESS) return FALSE; // Das System herunterfahren und alle Anwendungen schließen. if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_FLAG_PLANNED)) return FALSE;
return TRUE; }
|
Hmm wobei ich darauf geachtet hab, das du mit dem Code keinen anderen PC runterfahren kannst
Musst de nur gucken welche Includes du brauchst... das ist aus nem älteren Projekt von mir, daher weiß ich nichtmehr welche von den Includes für den System Shutdown gebrauchst wurden...
hab aber:
C++: |
#include <windows.h> #include "Reason.h" #include <mmsystem.h> #include "ntsecapi.h"
|
drinne gehabt...
Mfg Devil Entertainment |