Zustand einer Applikation überwachen?
-
Unter dem Begriff WinDebug-API stellt Microsoft eine Reihe von Strukturen und Systemfunktionen zur Verfügung, mit denen das Debugging von ausführbaren Dateien unter Windows NT/2000/XP unterstützt wird.
Schau mal in die MSDN unter CreateProzess (Parameter/Flags: DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS) und DebugActiveProzess / WaitForDebugEvent.
Eine Buchempfehlung: Professionelles Software-Debugging unter Windows NT, Hanser Verlag
Bewaffnet mit diesem Wissen sollte deinem Vorhaben eigentlich nichts mehr im Weg stehen ...
-
Eigentlich macht man das mit FindWindow
cu para
-
Na klar, FindWindow gibt jederzeit bereitwillig Auskunft, wann und warum eine ganz bestimmt Anwendung abgestürzt o.ä ist
[ Dieser Beitrag wurde am 10.02.2003 um 21:59 Uhr von JSFreak editiert. ]
-
Ich danke EUch für die Antworten. Jetzt hab ich schonmal nen Ansatzpunkt. ICh hab davon zwar noch nie was gehört, aber ich kann mir jetzt auf jeden Fall mal ein Bild davon machen.
Ansonsten hört Ihr wieder von mir.
Danke!
MfGr
-
@JSFreak: Und was, wenn der Prozess schon existiert?
-
Dann hast du eben Pech gehabt (es sei denn, du kennst dich mit Debuggern aus und weißt, dass die für diesen Zweck die Funktion VirtualQueryEx verwenden)!
-
hi,
Wenn das überwachende und das überwachte Programm beide zu dir gehören (du sie geschrieben hast), dann reichen eigentlich Messages (SendMessage() und abfangen im MessageLoop) - und die funktionieren schon seit Win95 und noch bis heute bei WinXP.
lw
-
Hi,
ich habe diesbezüglich
HWND FindWindow(
LPCTSTR lpClassName,
LPCTSTR lpWindowName
);nochmal ne Frage.
Wenn ich nen WindowName suche, kann ich da mit Wildcards arbeiten.
Was ich genau meine ist, ob ich genau diesen NAmen kennen muss oder ob man das irgendwie in der Art *IMMER_IM_NAMEN* machen kann.Der FEnstername, den ich suche, enthält immer ein/zwei bestimmte Worte, aber es kann auch immer noch was dazu stehen.
Wie kann ich damit umgehen?
Danke!
-
Nix Wildcards.
-
Vielleicht suchst du sowas wie EnumWineodws?! Ansonsten kannst du ja z.B. einfach den Fensternamen leer lassen und z.B. nur anhand der Fensterklasse suchen