Computer mit Delphi herunterfahre

Hallo
ich hab folgendes Problem, ich möchte meinen Computer mit einem Mausklick ausschalten und zwar mit einer Projektverknüpfung am Desktop. Es funktioniert alles bis auf das, dass ich nicht weiß welche Datei ich wie ausführen soll damit mein PC(Windows XP) runterfahrt! Mit anderen Dateien wie Notepad.exe funktioniert es.

Im voraus schon mal Danke schön!

Mit freundlichen Grüßen Reinhold

Hallo Reinhold,

nicht Delphi, aber C++Code gibts hier:
http://bytesandmore.de/rad/cpp/snipp/sc03004.php

Sollte problemlos auf Delphi umschreibbar sein.

Viel Erfolg
Hans

Hallo Reinhold,

nicht Delphi, aber C++Code gibts hier:
http://bytesandmore.de/rad/cpp/snipp/sc03004.php

Sollte problemlos auf Delphi umschreibbar sein.

Ok! Danke ich wede es so schnell wie möglich auf Delphi umändern und teile es dir dann mit! Nochmals vielen Dank!

MfG Reinhold

Hallo Hans_Sch2,
ich möchte dich bitten mir bei dem Umschreiben ins „Delphiformat“ zu halfen!

Sollte problemlos auf Delphi umschreibbar sein.

So problemlos ist das für mich nicht!

Mfg Reinhold

Hallo Reinhold probiers mal damit! ;o)

Windows 95/98/NT/2000 ShutDown

Der erste Parameter ist der String, der in der MessageBox erscheint. Wenn dieser Parameter leer ist, kommt auch keine Meldung. Dem zweiten Parameter muss ein Flag übergeben werden. Wie diese Flags lauten können ist unten aufgelistet.

function ExWindows(const AQuestion: string; flag: word): Boolean;
var
vi : TOSVersionInfo;
hToken : THandle;
tp : TTokenPrivileges;
h : DWord;
begin
result := false;
if Aquestion=’’ then
if MessageDlg(frage, mtConfirmation, [mbYes,mbNo],0) = IDNo then
exit;
vi.dwOSVersionInfoSize:=SizeOf(vi);
GetVersionEx(vi);
if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then
begin
// Windows NT
// Achtung bei Delphi 2 muß @hToken stehen …
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,hToken);
LookupPrivilegeValue(nil,‚SeShutdownPrivilege‘,tp.Privileges[0].Luid);
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
h := 0;
AdjustTokenPrivileges(hToken,False,tp,0,PTokenPrivileges(nil)^,h);
CloseHandle(hToken);
result := ExitWindowsEx(flag,0);
end
else
begin // Windows 95
Result := ExitWindowsEx(flag,0);
end;
end;

Aufgerufen werden kann diese Funktion folgendermaßen:

ExWindows(’’, ewx_logoff +flag); //Ausloggen
ExWindows(‚Beenden‘, ewx_poweroff+flag); //Beenden (ATX)
ExWindows(’’, ewx_reboot +flag); //Neustart
ExWindows(’’, ewx_shutdown+flag); //Ausloggen

Greetz Nik ;o)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Computer mit Delphi herunterfahre
Hallo Reinhold,

sorry, ich lese das Delphi Forum nicht regelmaessig…
Auf dem SwissDelphicenter.ch fand ich eine Delphi version , um Windows herunterzufahren. Ich hoffe, das kann Dir weiterhelfen.

http://www.swissdelphicenter.ch/de/showcode.php?id=168

Gruss
Hans

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]