AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Art des ShutDowns aus WMQueryEndSession ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Art des ShutDowns aus WMQueryEndSession ermitteln

Ein Thema von Baeuerle · begonnen am 26. Sep 2005 · letzter Beitrag vom 26. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#1

Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 09:05
Hallo,

habe ich die Möglichkeit abzufangen, wie der Rechner heruntergefahren wird ?
Aus "WMQueryEndSession" bekomme ich nur "ENDSESSION_LOGOFF" heraus, das heißt ich kann zwischen "Benutzer abmelden" und "Herunterfahren" unterscheiden.

Was ist aber mit "Reboot", "Shutdown and PowerOff"...

Vielleicht weiß jemand von euch wie ich die genaue Art des Shutdowns ermitteln kann.

Danke Baeuerle
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 10:18
Also so genau geht's vermutlich nur, wenn du die entsprechende Native API hookst - vorzugsweise über einen Treiber und direkt in der NTOSKRNL.EXE (also nicht über die SSDT), weil du es sonst verpassen könntest.

Eine Alternative wäre auch die GINA, welche du ersetzen könntest. In diesem Falle würdest du vermutlich benachrichtigt werden, ich bin aber nicht sicher wie genau das dann ist.
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 10:30
Danke,

aber vielleicht kannst Du mir noch etwas mehr auf die Sprünge helfen

Ein weiterer Tipp wäre nicht schlecht.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 10:33
Zitat von Baeuerle:
aber vielleicht kannst Du mir noch etwas mehr auf die Sprünge helfen

Ein weiterer Tipp wäre nicht schlecht.
Moooment. Ich suche gerade. Hatte das schonmal letztens ausführlichst erklärt
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 10:37
Da war doch letztens das WinWlx API = Plugin um die GINA-Meldungen abzuhoeren.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#6

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 10:43
Zitat von Robert Marquardt:
Da war doch letztens das WinWlx API = Plugin um die GINA-Meldungen abzuhoeren.
Ja, das ist die Winlogon API. Auf diese Funktionen innerhalb der Winlogon.exe greifst du ja zurück, wenn deine GINA geladen wurde. Leider ist aber dazu mindestens eine Änderung in der Registry und ein Neustart erforderlich. Außerdem sollte das Teil ausführlichst getestet werden, weil eine fehlerhafte GINA das System unbrauchbar macht.

Ein Beispiel findet sich hier:
http://assarbad.net/stuff/!export/ancient/agreementgina.rar

Inzwischen bin ich selber für meine GINA-Lösung auf C++ umgestiegen, da es dort einfacher lösbar ist. Aber diese alte GINA ist in Delphi konzipiert und sollte mind. auf Windows 2000 laufen. Für XP und 2003 könnten Schritte nötig werden um es kompatibel zu machen.

PS: Den Beitrag konnte ich nicht mehr finden

EDIT: ... Robert, redest du vielleicht von MSDN-Library durchsuchenWinlogon Notification Packages? Die würden auch funktionieren. Da hast du recht. Habe ich garnicht daran gedacht.
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 10:53
Ok, danke.

Leider ist das ganze wieder einmal etwas zu hakelig um dies bei den Kunden einzuführen. Denke da an die Probleme mit den verschieden OS,....

Werde wohl mit einem einfachen EWX_POWEROFF leben müssen.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 10:57
Zitat von Baeuerle:
Leider ist das ganze wieder einmal etwas zu hakelig um dies bei den Kunden einzuführen. Denke da an die Probleme mit den verschieden OS,....
Also die Notification Packages sind ziemlich straight-forward. Da ist nix hakeliges. Einziges mögliches Problem: zur Installation braucht's Adminrechte. Aber das sollte bei jeder Software möglich sein. Zumal sich sowas wunderbar für den Admin automatisieren ließe (Stichwort "unattended install").

Ich hatte leider nicht dran gedacht, aber Robert war ja schon auf der richtigen Spur - habe es nur etwas spät bemerkt.
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 11:22
Sorry aber einen hab ich noch

In der MSDN steht:
Windows NT and Windows Me/98/95: Winlogon notification packages are not supported.

Was mache ich dann ?
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: Art des ShutDowns aus WMQueryEndSession ermitteln

  Alt 26. Sep 2005, 11:36
Du meinst, wenn es auf 9x läuft? Na dann machst du einen Fallback zu dem Standardschema, welches du oben gerade noch benutzen wolltest: keine Unterscheidung.

9x ist überflüssig bis sonstwohin. Das Problem ist, daß man es manchmal unterstützen muß - allerdings würde ich da nicht zuviel Arbeit hineinstecken, weil es sich um ein aussterbendes OS handelt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:30 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