![]() |
Aufrufer von ExitWindowsEx herausfinden
Moin Zusammen,
ich versuche herauszufinden, welcher Prozess die Funktion ExitWindowsEx aufgerufen hat. Sie jemand eine Chance, oder hat vielleicht sogar eine Idee, wie ich das umsetzen kann? |
AW: Aufrufer von ExitWindowsEx herausfinden
Du könntest OllyDBG benutzen, aber da ich denke du brauchst es in deinem eigenen Programm, könntest du dir vllt. ein wenig bei der
![]() |
AW: Aufrufer von ExitWindowsEx herausfinden
Moin Martin,
danke, dass schau ich mir gleich mal an. :) Mein Problem ist halt, dass ich es im laufenden Betrieb automatisch ermitteln muss. [EDIT sagt] Schade, der Sourcecode steht, zumindest zur Zeit nicht zur Verfügung [/EDIT sagt] |
AW: Aufrufer von ExitWindowsEx herausfinden
WM_QUERYENDSESSION kommt immer von CSRSS.
![]() . ![]() Mehr Infos: Seite 286 csit.udc.edu/~byu/UDC3529315/WindowsInternals-4e.pdf |
AW: Aufrufer von ExitWindowsEx herausfinden
Nur das Dieses das Handle des Empfängers (für den diese Message bestimmt ist, als an Welches Diese gesendet wurde) und nicht das Handle des Senders ist.
Der Sender ist vermutlich Windows, welches diese Message im System verteilt, aber vom Auslöser sieht man da wohl auch nichts mehr. Eventuell wird irgendwo in der Message gespeichert von welchem Thread sie ausgelöst wurde und wenn Windows Diese direkt über den selben Thread im System verteils und das nicht erst via Message in sich selbst verteilt und Sie somit wiederum erst über eine MessageLoop (im verarbeitenden Thread) rumreicht. [edit] hmmm, edit? ging um das HWND im Message-Window-Proc da geb ich mir so Mühe den Knoten aus meinen Gedanken zu bekommen und dann sieht die RedBox nichtmal den Alnass mich zu warnen :cry: Zitat:
Ansonsten bleibt wohl nur ein globaler WinAPI-Hook dieser Shoutdown-Funktionen, aber wenn es eventuell durch einen Treiber/Interrupt (drücken der Ausschalttaste) ausgelöst wird ... :gruebel: |
AW: Aufrufer von ExitWindowsEx herausfinden
Moin Zusammen,
@Hathor: Danke schon mal für den Tip mit WM_QUERYENDSESSION. Damit könnte ich schon mal unterbinden, dass der Rechner ohne Rückfrage herunterfährt, da EWX_FORCE offensichtlich nicht verwendet wird. @Himitsu: Das der Ausschalter gedrückt wird kann ich ausschliessen. Es geht darum herauszufinden welcher Prozess (besser welches Programm) einen Rechner ohne Vorwarnung herunterfährt. Ein entsprechender Eventlog-Eintrag zeigt, dass dies über ExitWindowsEx initiiert wird. |
AW: Aufrufer von ExitWindowsEx herausfinden
Es sollten sich hier auch schon einige Einträge zu WM_QUERYENDSESSION finden lassen.
In Win7 scheint es (wenn ich mich recht erinnere) so, als daß Windows nicht unbedingt darauf hört. Der "einfachste Weg, wäre wohl der globale WinAPI-Hook, aber alle Prozesse lassen sich nicht hooken. (die lieben Recht) ![]() |
AW: Aufrufer von ExitWindowsEx herausfinden
Anmerkung:
Console applications can use the SetConsoleCtrlHandler function to receive shutdown notification. Service applications can use the RegisterServiceCtrlHandlerEx function to receive shutdown notifications in a handler routine. . Ausserdem: Certain types of applications will no longer be allowed to block shutdown. At shutdown, Windows Vista will check whether each running application is not responding (an application is defined as not responding if it has not responded to any of its window messages in the last 5 seconds), and, if so, automatically terminate it. Windows Vista will also not allow console applications or applications that have no visible top-level windows to block shutdown. In most cases, such applications are less important to users at shutdown than applications that do have visible top-level windows. If an application without a visible top-level window blocks shutdown by vetoing WM_QUERYENDSESSION, or takes over 5 seconds to respond to WM_QUERYENDSESSION or WM_ENDSESSION, Windows will automatically terminate it. However, if an application with no visible top-level windows uses the new API to proactively indicate that it needs to block shutdown, Windows Vista will not automatically terminate it, and will instead treat it like an application that does have a visible top-level window. Was für VISTA gilt ist auch für WIN 7 relevant. |
AW: Aufrufer von ExitWindowsEx herausfinden
Moin Zusammen,
wie ich euren Beiträgen entnehme, habe ich vergessen anzugeben, dass es sich um XP handelt. :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 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