C
Hallo,
//per Button-Click Computer Beenden//
Dieser Code kann beim Button (CODE) eingefügt werden:
C/C++ Code:
HANDLE hToken; // Handle für Prozesstoken
TOKEN_PRIVILEGES tkp; // Zeiger auf die Tokenstruktur
// Token für diesen Prozess holen
if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
{
// MessageBox(NULL, "Fehler beim OpenProcessToken",
// "Error", MB_ICONEXCLAMATION | MB_OK);
// return;
}
// LUID für die Shutdown Privilege holen
LookupPrivilegeValue(NULL,
SE_SHUTDOWN_NAME,
&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
// Shutdown privilege für diesen Prozess setzen
AdjustTokenPrivileges(hToken,
FALSE,
&tkp,
0,
(PTOKEN_PRIVILEGES)NULL, 0);
// System herunterfahren und File-Buffer auf HD sichern
ExitWindowsEx(EWX_SHUTDOWN /*| EWX_FORCE*/ , 0);
Sobald man das Programm startet, und auf den Button klickt, wird der Computer Beendet. Falls man z.b mehrere Benutzer auf dem Pc hat, und einzelne Benutzer noch Progrtamme geöffnet haben, wird eine Meldug kommen:
Möchten Sie den Vorgang vortsetzten.
//oder so was?!//
Dieser Code sollte eigentlich bei jedem von euch funktionieren?!
danke @ evi48
---
Ok, was bei mir nicht funktionierte war der Beispiel Thread 1. - das mit dem eincluden u.s.w
Beim ersten Beispiel eben das mit dem eincluden u.s.w, funktionierte bei mir zwar nicht, aber propiert doch mal bei euch.
Braunstein
10:46:11 10.11.2004 Titel: Zitieren
Hast du mal nachgeschaut ob shutdown existiert? Ich habe es auf meinem System (W2k) noch nicht gefunden.
@ all: Das würde ich auch zuerst mal suchen....
ok
Viele Grüsse David
ps: Ich habe noch einen anderen Code um per Button klick den Pc zu Beenden: muss ihn aber noch suchen . Ist noch eine andere Variante!