![]() |
TShutDown komponente
Liste der Anhänge anzeigen (Anzahl: 1)
Als mir mal wieder langweilig war, habe ich mir gedacht dass ich doch mal eine kompo
fürs runterfahren einens rechners schreiben könnte: Man kann mit ihr ganz einfach den rechner -Runterfahren -Ausschalten -Neustarten -In den StandBy-Mode versetzten -In den Ruhezustand verstezten -Und sich abmelden Bitte jedem fehler melden! Danke. |
DP-Maintenance
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Open-Source" verschoben.
Eine Komponente ist kein Eintrag für die CodeLibrary. ;) |
Re: TShutDown komponente
Mist, da stand grad noch Blödsinn. :lol:
Abmelden geht bei mir schonmal den Rest möchte ich gerade nicht testen. ;) |
Re: TShutDown komponente
Schon mal Gedanken über den leeren else-Block gemacht?
Delphi-Quellcode:
Ich komme nicht umhin zu glauben, dass du das irgendwo zusammenkopiert hast. Denn diesen Kommentar:
procedure GetPrivileges; //Rechte um runterzufahren holen.
var vi : TOSVersionInfo; hToken : THandle; tp : TTokenPrivileges; h : DWord; begin vi.dwOSVersionInfoSize := SizeOf(vi); GetVersionEx(vi); if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then // Windows NT begin // 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); end else // Windows 95 begin end; end; Zitat:
Ich habe noch diesen Code auf der Paltte rumfliegen:
Delphi-Quellcode:
Den könnte man bestimmt auch noch verbessern.
function ExitWin(flag: word): Boolean;
var vi : TOSVersionInfo; hToken : THandle; tp : TTokenPrivileges; h : DWord; begin vi.dwOSVersionInfoSize := SizeOf(vi); GetVersionEx(vi); if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then // Windows NT begin 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 // Windows 95 begin Result := ExitWindowsEx(flag, 0); end; end; |
Re: TShutDown komponente
@Luckie: Dein Code ist aus der
![]() |
Re: TShutDown komponente
Zitat:
![]() Da wurden sogar meine Rechtschreibfehler mit kopiert und eingefügt. Nur am Sourcecode wurden ein paar kleine Änderung gemacht. |
Re: TShutDown komponente
Zitat:
|
Re: TShutDown komponente
[ot]Wenn dann wenigstens eine Meldung wie "95 ist blöd" gekommen wäre...[/ot]
|
Re: TShutDown komponente
[ot]oder eine meldung zeigen "was sie tun sich noch win9x noch an?" :mrgreen: und dann nach einem klick auf ok eine weitere meldung zeigen mit der bitte auf Start > Ausführen zu klicken und dannach IIRC "rundll32.exe user,ExitWindows" einzugeben und dann auf Ok klicken zum herunterfahren.[/ot] hehe :twisted:
|
Re: TShutDown komponente
Bitte kommt wieder zurück zum Thema.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz