![]() |
Shutdown Befehl auf Windows 7
hey Leute :) bin neu hier im forum und auch noch ziemlich unerfahren was das programmieren angeht :)
ich wollte einen shutdown Button programmieren also ein button der bei klicken den Pc runterfährt ... alles was ich hier gefunden habe funktioniert leider nicht ... ich kenn mich mit dem ganzen noch nicht so aus wie schon gesagt ... der hauptgrund dafür ist das unsere informatiklehrerin nur sinnlosen scheiß mit uns macht den wir nie mehr brauchen werden .. wenn einer ne idee/nen Befehl hat wie das funktionert ( also auf Windows 7) bitte antworten =) danke im vorraus ;) |
AW: Shutdown Befehl auf Windows 7
Egal welche Lösung. Sie funktioniert nur wenn Adminrechte vorhanden sind.
|
AW: Shutdown Befehl auf Windows 7
Und eine Schlatfläche zum Runterfahren des Rechners ist kein sinnloser Scheiß? Mit der Aussage wäre ich aber ganz vorsichtig. Denn ich hatte eigentlich als professioneller Softwareentwickler noch nie eine Verwendung für solch eine Routine.
@mkinzler: Äh wie? Seit wann braucht man zum Aufruf der Funktion ExitWindowsEx Administratorenrechte? Es müssen nur die nätigen Privilegien aktiviert werden. @XBladerX: Wenn du uns jetzt noch verraten würdest, was du ausprobiert hast und was nicht funktioniert hat, könnte man dir eventuell sogar helfen. Aber ich bin mir ziemlich sicher, dass man mit der Suche nach "windows runterfahren" bestimmt funktionstüchtigen Code findet. |
AW: Shutdown Befehl auf Windows 7
![]() das hab ich versucht ... der logoff befehl funktioniert einwandfrei ... der rest aber nicht ....
Delphi-Quellcode:
war der quelltext ... funktioiert halt nicht ... sag mal .. wie komme ich den an die privilegien die ich brauche ?
procedure TForm1.Button1Click(Sender: TObject);
begin ExitWindowsEx(EWX_SHUTDOWN, 0); end; procedure TForm1.Button2Click(Sender: TObject); begin ExitWindowsEx(EWX_REBOOT, 0); end; procedure TForm1.Button3Click(Sender: TObject); begin ExitWindowsEx(EWX_LOGOFF, 0); end; end. danke schonmal für eure schnellen antworten :) wenn ich wieder at home bin geb ich euch das programm mal =) |
AW: Shutdown Befehl auf Windows 7
Wie Du an die Privilegien kommst, hat Daniel doch im von Dir selbst verlinkten Thread direkt als 2. Beitrag geschrieben.
|
AW: Shutdown Befehl auf Windows 7
Zitat:
Aber es gibt Tools, die eine Shutdown-Funktion schon gebrauchen können, nämlich solche, die sehr lange laufen (Defragger, Indexer, Virenscanner etc.) und da ist es ganz praktisch, wenn man eine Option hat, die den Rechner nach Abschluss der Tätigkeiten des Programms runterfährt. Allerdings laufen solche Tools eh meist mit Adminrechten... |
AW: Shutdown Befehl auf Windows 7
Zitat:
Zur Verwendung: z.B. eine POS-Kasse, die nur mit Fingern (Touchscreen) bedient wird und den kompletten Bildschirm einnimmt, sollte auch den Rechner runterfahren können. |
AW: Shutdown Befehl auf Windows 7
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
so das programm ist jetzt als anhang da ... |
AW: Shutdown Befehl auf Windows 7
Daniel ist der Administrator vom Forum. Aber das ist auch sein Benutzername. Du solltest also den Beitrag finden. Und mal etwas runterscrollen zum zweiten Beitrag sollte nicht so schwer sein.
|
AW: Shutdown Befehl auf Windows 7
danke xD
|
AW: Shutdown Befehl auf Windows 7
Ich sehe gerade, man muss noch nicht mal runterscrollen und Das Thema besteht nur aus zwei Beiträgen.
|
AW: Shutdown Befehl auf Windows 7
Zitat:
![]() ![]() ![]() ![]() oder statt SysErrorMessage und ShowMessage gleich ein ![]() Und schon hättest du gleich gewust, warum bei dir der Befehl nicht geht. PS: Man muß sich nicht nur die nötigen Privilegien freischalten ... diese Privilegien dürfen auch nicht vom Administrator deaktiviert wurden sein, sonnst kann man sie ja garnicht aktivieren. :angle: |
AW: Shutdown Befehl auf Windows 7
Das programm funktioniert immer noch nicht .. :(
|
AW: Shutdown Befehl auf Windows 7
OK.
|
AW: Shutdown Befehl auf Windows 7
Zitat:
|
AW: Shutdown Befehl auf Windows 7
Hi,
hier ist die Lösung funktioniert einwandfrei: In Nameadress muss die IP des runterzufahrenden Rechners stehen. In deinem Fall deine eigene.
Delphi-Quellcode:
Wenn du shellexecute nicht verstehst googln.
procedure TForm1.Button2Click(Sender: TObject);
var a:string; begin a:='cmd /C shutdown /t 1 /s /f /m \\'+Nameaddress; ShellExecute(handle, nil, PChar('cmd.exe'), PChar(a), nil, SW_SHOWNOACTIVATE); end; Verlass dich drauf man kann sowas brauchen. Ich kontrolliere damit 12 Server. (Notshutdown Reboot usw) Was ist denn dann schlecht dabei wenn mein eigener Rechner ebenfalls runtergefahren werden kann. Grüsse Rainer |
AW: Shutdown Befehl auf Windows 7
Funktioniert das auch noch, wenn Du keine Admin-Rechte hast?
|
AW: Shutdown Befehl auf Windows 7
Hi,
ich benutze dafür fogenden code:
Code:
Einfach und simpel zu benutzen^^
unit WHSystem;
interface uses Classes, SysUtils, Windows, mmSystem; const //Soft-Variante Logoff = EWX_LOGOFF or EWX_FORCEIFHUNG; StandBy = EWX_POWEROFF or EWX_FORCEIFHUNG; Reboot = EWX_REBOOT or EWX_FORCEIFHUNG; Shutdown = EWX_SHUTDOWN or EWX_FORCEIFHUNG; //Harte-Variante Logoff_F = EWX_LOGOFF or EWX_FORCE; StandBy_F = EWX_POWEROFF or EWX_FORCE; Reboot_F = EWX_REBOOT or EWX_FORCE; Shutdown_F = EWX_SHUTDOWN or EWX_FORCE; type ExitWindowsParameter = longword; function ExitWindows (RebootParam : longword) : boolean; //zB.: "EWX_REBOOT or EWX_FORCE" zum Neustarten //Es können auch dierekt die Konstanten aus dieser Unit verwendet werden! //Parameter Wirkung //EWX_LOGOFF Alle Prozesse des Benutzers werden beendet, danach wird der Benutzer abgemeldet. //EWX_POWEROFF Fährt Windows herunter und setzt den Computer in den StandBy-Modus, // sofern von der Hardware unterstützt. //EWX_REBOOT Fährt Windows herunter und startet es neu. //EWX_SHUTDOWN Fährt Windows herunter. //EWX_FORCE Die aktiven Prozesse werden zwangsweise und ohne Rückfrage beendet. //EWX_FORCEIFHUNG Windows 2000/XP: Die aktiven Prozesse werden aufgefordert, sich selbst zu beenden und // müssen dies bestätigen. Reagieren sie nicht, werden sie zwangsweise beendet. implementation function ExitWindows (RebootParam : longword) : boolean; var TTokenHd : THandle; TTokenPvg : TTokenPrivileges; cbtpPrevious : DWORD; rTTokenPvg : TTokenPrivileges; pcbtpPreviousRequired : DWORD; tpResult : Boolean; const SE_SHUTDOWN_NAME = 'SeShutdownPrivilege'; begin if Win32Platform = VER_PLATFORM_WIN32_NT then begin tpResult := OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, TTokenHd); if tpResult then begin tpResult := LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME, TTokenPvg.Privileges[0].Luid); TTokenPvg.PrivilegeCount := 1; TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; cbtpPrevious := SizeOf(rTTokenPvg); pcbtpPreviousRequired := 0; if tpResult then Windows.AdjustTokenPrivileges(TTokenHd, False, TTokenPvg, cbtpPrevious, rTTokenPvg, pcbtpPreviousRequired); end; end; Result := ExitWindowsEx(RebootParam, 0); end;
Code:
Funktioniert bei mir in Delphi und Lazarus unter WinXP und unter Win7 tadellos :)
ExitWindows(Shutdown_F);
Ich hoffe ich konnte helfen :idea: Lg |
AW: Shutdown Befehl auf Windows 7
Ähnlichen Code haben wir, glaube ich schon fünf mal verlinkt.
Aber wie wäre es bei dir mal mit einer Fehlerbehandlung? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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