AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Shutdown-Folder, oder: Wie starte ich ein Prog beim Win-Runterfahren?
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Guido Eisenbeis · begonnen am 16. Sep 2011 · letzter Beitrag vom 21. Sep 2011
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
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
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

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

  Alt 16. Sep 2011, 23:11
Na ja, wenn du eine Rakete bauen willst, wirst du nicht um hin kommen Raktentechnik zu lernen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#13

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

  Alt 16. Sep 2011, 23:39
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

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

  Alt 16. Sep 2011, 23:43
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#15

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

  Alt 17. Sep 2011, 00:00
Naja, besser so als mit GPO die nicht überall funktioniert. Und die Arbeitsspeicher- sowie die CPU-Belastung sind quasi nicht existent.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

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

  Alt 17. Sep 2011, 00:42
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#17

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

  Alt 17. Sep 2011, 01:18
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Guido Eisenbeis

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

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

  Alt 17. Sep 2011, 02:20
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.


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.


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).


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?

Guido.
  Mit Zitat antworten Zitat
Gustav.R
(Gast)

n/a Beiträge
 
#19

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

  Alt 17. Sep 2011, 03:31
Da wir alle Assembler-Programmierer auf einem 8-Bit-C64 sind, müssen wir um jedes halbe Bit feilschen oder was

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

KISS (Keep It Simple, Stupid).

GG
  Mit Zitat antworten Zitat
Guido Eisenbeis

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

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

  Alt 17. Sep 2011, 06:48
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr.
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