Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren? (https://www.delphipraxis.net/163112-shutdown-folder-oder-wie-starte-ich-ein-prog-beim-win-runterfahren.html)

Guido Eisenbeis 16. Sep 2011 22:09

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
 
Leute, ich bin überwältigt von der Flut an Vorschlägen. Ich versuche möglichst knapp auf jeden einzugehen.

Zitat:

Zitat von CCRDude (Beitrag 1124785)
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?


Zitat:

Zitat von Sharky (Beitrag 1124835)
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". :evil: 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.


Zitat:

Zitat von Luckie (Beitrag 1124811)
Eine generelle Lösung wird es nicht geben, da sich ab Windows Vista das Soundmanagement grundsätzlich geändert hat. ...

Zitat:

Zitat von jfheins (Beitrag 1124859)
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.

Luckie 16. Sep 2011 22:11

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
 
Na ja, wenn du eine Rakete bauen willst, wirst du nicht um hin kommen Raktentechnik zu lernen.

Union 16. Sep 2011 22:39

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
 
Also mit GPO ist das wieder Betriebssystemabhängig. Z.b. musst Du auf einem Server der Domaincontroller ist das in den Domaincontroller-Richtlinien eintragen. Sowas sieht dann so aus (Beispiel für ein Startup-Script, ansonsten Type=Shutdown):
Code:
<Computer>
    <VersionDirectory>40</VersionDirectory>
    <VersionSysvol>40</VersionSysvol>
    <Enabled>true</Enabled>
    <ExtensionData>
      <Extension xmlns:q1="http://www.microsoft.com/GroupPolicy/Settings/Scripts" xsi:type="q1:Scripts">
        <q1:Script>
          <q1:Command>C:\scripts\enablecache.cmd</q1:Command>
          <q1:Type>Startup</q1:Type>
          <q1:Order>0</q1:Order>
          <q1:RunOrder>PSNotConfigured</q1:RunOrder>
        </q1:Script>
      </Extension>
      <Name>Scripts</Name>
    </ExtensionData>
    <ExtensionData>
An Deiner Stelle würde ich wirklich das Abfangen der QueryEndsession mal versuchen. Ein Miniprogramm (z.b. in der Taskleiste) und es funktioniert. Wir verwenden das in allen unseren Anwendungen um zu verhindern dass die Benutzer die Programme durch versehentliches Abmelden killen.

Luckie 16. Sep 2011 22:43

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
 
Und noch ein Prozess mehr der 99,999% der Computerzeit läuft und nichts tut außer Ressourcen verbrauchen, nur um dann in den verbleiben 0,001% der Computerzeit etwas zu tun. Ökomomisch ist anders.

Union 16. Sep 2011 23:00

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
 
Naja, besser so als mit GPO die nicht überall funktioniert. Und die Arbeitsspeicher- sowie die CPU-Belastung sind quasi nicht existent.

Luckie 16. Sep 2011 23:42

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
 
Kleinvieh macht auch Mist. Leider denken viele Programmierer so und dann wundert sich der Anwender warum sein Windows schon wieder so lahm ist. Und dann ist es kein wunder warum Windows so oft neu installiert wird. :?

Union 17. Sep 2011 00:18

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
 
Ich achte normalerweise auch sehr auf so etwas. Und genau deshalb finde ich es unbedenklich. Es ist doch nur ein Listener der eine Windows Nachricht abfängt. Und Windows sendet die sowieso an alle, und das auch nur beim Abmelden / Herunterfahren.

Guido Eisenbeis 17. Sep 2011 01:20

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

Zitat von Luckie (Beitrag 1124951)
Und noch ein Prozess mehr der 99,999% der Computerzeit läuft und nichts tut außer Ressourcen verbrauchen, nur um dann in den verbleiben 0,001% der Computerzeit etwas zu tun. Ökomomisch ist anders.

Dem stimme ich zu, deshalb wäre Group Policy günstig gewesen, da die MMC (vermutlich) sowieso läuft.


Zitat:

Zitat von Union (Beitrag 1124952)
Naja, besser so als mit GPO die nicht überall funktioniert. Und die Arbeitsspeicher- sowie die CPU-Belastung sind quasi nicht existent.

Dem stimme ich auch zu. Verflixt! Alles hat Vor- und Nachteile. Es ist schon übel, wenn eine (GPO-)Lösung so speziell und von allem möglichen abhängig ist.


Zitat:

Zitat von Union (Beitrag 1124950)
Also mit GPO ist das wieder Betriebssystemabhängig. Z.b. musst Du auf einem Server der Domaincontroller ist das in den Domaincontroller-Richtlinien eintragen. Sowas sieht dann so aus (Beispiel für ein Startup-Script, ansonsten Type=Shutdown): ...

Was ist das denn für ein Script, und wie wird es verwendet? Bei mir gibt es keine Domäne, nur mehrere private PCs in einer Arbeitsgruppe bei mir zu Hause (und bei Bekannten natürlich genauso).


Zitat:

Zitat von Union (Beitrag 1124950)
An Deiner Stelle würde ich wirklich das Abfangen der QueryEndsession mal versuchen. Ein Miniprogramm (z.b. in der Taskleiste) und es funktioniert. Wir verwenden das in allen unseren Anwendungen um zu verhindern dass die Benutzer die Programme durch versehentliches Abmelden killen.

Werd ich auch tun. Welche Erfahrungen hast du denn damit gemacht? Funktioniert das bei euch problemlos, oder gibt es Querschläger? Wie schon geschrieben, kann man da doch nicht sicherstellen, dass die Message beim eigenen Programm ankommt, bevor sich vielleicht schon andere Programme oder Dienste beendet haben. Oder doch? :gruebel:

Guido.

Gustav.R 17. Sep 2011 02:31

AW: Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
 
Da wir alle Assembler-Programmierer auf einem 8-Bit-C64 sind, müssen wir um jedes halbe Bit feilschen oder was :evil:

Warum kein "unsichtbares", rudimentäres NonVCL-Programm im Autostart, das beim Befehl zum Windows-Runterfahren das Programm zur Lautstärkenwiederherstellung startet?

Ganz einfach von hinten durch die Brust ins Auge :thumb:

KISS (Keep It Simple, Stupid).

GG

Guido Eisenbeis 17. Sep 2011 05:48

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

Zitat von Gustav.R (Beitrag 1124961)
Warum kein "unsichtbares", rudimentäres NonVCL-Programm im Autostart, das beim Befehl zum Windows-Runterfahren das Programm zur Lautstärkenwiederherstellung startet?


Wie sieht deine Lösung aus?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 Uhr.
Seite 2 von 5     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz