Einzelnen Beitrag anzeigen

Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?

  Alt 16. Sep 2011, 23:09
Leute, ich bin überwältigt von der Flut an Vorschlägen. Ich versuche möglichst knapp auf jeden einzugehen.

Auch nicht simpel, aber machbar: WinLogon. Eine entspreche DLL schreiben, die einen Export names ShutdownHandler hat (bzw. auch LogoffHandler), im entry point DisableThreadLibraryCalls nicht vergessen, und das ganze noch in die Registry eintragen.
Hab mich oberflächlich eingelesen. Vereinfacht ausgedrückt, siehts nach einem systemweiten Hook aus. Prinzipiell ist dies der Vorschlag, der mir am vielversprechendsten aussieht um das eigenliche Problem anzugehen. Nachteil: "Aus großer Macht folgt große Verantwortung." Ein Hook ist eine mächtige Sache. Man kann damit heftige Sachen machen. Aber auch heftig blöde Querschläger erzeugen. Wirklich nicht simpel. Hast du da was an Code für mich, auf den ich aufbauen kann?


mache doch einen "Zwitterlösung". Du erzeugst in der GPO (Gruppenrichtlinie) einen Eintrag das beim Herunterfahre eine .CMD oder .BAT ausgeführt wird. Diese .BAT lässt Du einfach leer.
Jetzt machst Du dein Image.

Dein "Installer" muss jetzt eigentlich nur noch Dein Programm in einen Ordner legen und die .BAT ändern oder ersetzen.
Nicht übel! Vorteil: Würde für (m)eine konkrete Win-Installation / Image was bringen. Nachteil: Es ist nicht für andere geeignet, wäre also "egoistisch". Nee im Ernst: Eine Lösung für mich allein habe ich. Ich wende mich hier ans Forum, um eine Lösung zu finden, die auch andere nutzen können (siehe Posting #1: Doppelklick -> ein paarmal "Weiter" -> und "Fertig".) Werd ich aber mal im Hinterkopf behalten.


Eine generelle Lösung wird es nicht geben, da sich ab Windows Vista das Soundmanagement grundsätzlich geändert hat. ...
Joa, mit der Powershell kannst du das Skript installieren, aber du brauchst dafür wohl ein Extra Paket ... (http://technet.microsoft.com/en-us/l.../dd759177.aspx)

Ich habe mir grad mal ein Powershellscript geschrieben, welches die Lautstärke runtersetzt. Ist schon happig .... Für WinXP geht's noch nur mit dem Skript, für Vista und 7 braucht man dann noch ne dll dazu ...
Auch euch danke für die Antworten. Leider nutzen sie mir nicht viel, denn es geht mir um das (saubere) Starten eine Programms beim Runterfahren, nicht um die System-Lautstärke (siehe Titel des Threads und Posting #1 beim Punkt "Gesuchte Hilfe").

Ich hoffe ich hab niemanden vergessen!?


Klartext: Ich suche eine (saubere) Möglichkeit, um beim Runterfahren von Windows ein Programm zu starten. Sonst nix. (Vorerst. Dann seh ich weiter.)


Immernoch scheint die Lösung per Group Policy am besten. Wenn also niemand eine andere Lösung hat, werde ich einen anderen Thread eröffnen und dort nach dem Einrichten von Group Policies per Code fragen. Eine andere Lösung ist aber nur sinnvoll, wenn ich dafür nicht erst Gehirnchirugie studieren muss. Will sagen: Powershel, .Net-Framework, DLL schreiben für systemweiten Hook, WM_QUERYENDSESSION-Message abfangen, einen Windows Server Admin suchen, usw. ist mir alles zu heftig. Das eine ist zu viel Installation und Aufwand für diese simple Aufgabe, das andere ist für mich nicht einzuschätzen, wieweit die Stabilität des Systems beeinflusst wird. Ich habe bis jetzt über 20 Stunden recherchiert (das Posten hier nicht mitgerechnet) und über 8 Stunden Tests gefahren, um eine Weg zu finden, entsprechende Group Policies per Code zu etablieren. Und ich bin nicht weiter, als nach den ersten 2 Minuten, als ich die Group-Policies-Möglichkeit zum ersten Mal fand.


Guido.
  Mit Zitat antworten Zitat