Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6
  Alt 31. Mär 2003, 19:56
Zitat von APP:
@Chewie,

ich muß gestehen ich verstehe nicht alles was Du mir sagen möchtest,
Kann sein. Ich auch nicht

Also: Jede PE-Datei, sei es DLL, EXE oder was auch immer stellt ein Modul dar. Wenn nun ein Excel-Dokument im Internet Explorer geladen wird, wird (vermute ich mal) höchstwahrscheinlich eine DLL als Plugin geladen. Diese DLL kann man nun folgendermaßen finden (vorausgesetz, man kennt ihren Namen):

1. Mit CreateToolHelp32SnapShot einen Snapshot der Prozesse machen.
2. Jetzt kann man alle IE-Prozesse erkennen
3. Erneut mit CreateToolHelp32SnapShot einen Snapshot der Module jedes oben gefundenen Prozesses machen (Stichwort: Module32First bzw. Module32Next)
4. Jetzt kann man prüfen, welche Prozesse die entsprechende DLL geladen haben.

Achtung: Diese Methode ist recht rechenaufwändig und außerdem beruht sie auf der Annahme, bei der Darstelung von Excel-Doks im IE würde ein Modul geladen. Falls das nicht der Fall ist, kann man obiges ganz in die Mülltonne treten.
Außerdem ist man hier noch nicht fertig. Man muss noch aus der Prozess-ID das Handle des Hauptfensters finden, was über EnumThreads des Prozesses und EnumThreadWindows aller Threads des Prozesses geht.

Alles in allem ein sehr komplizierter Weg, wenn er denn überhaupt funktioniert. Wahrscheinlich gibt es einen einfacheren weg, vielleicht mit Benutzung der Excel-OLE-Objekte.

Edit:
Zitat von APP:
nunja ich bekomme nun die PID's (?) des Programmes das ich zuvor mit vollem Pfad an GetThreadID übergeben habe.
Nicht ganz. Du bekommst alle Thread-IDs des Prozesses, den du mit vollem Pfad an die Funktion übergeben hast.
Allerdings fällt mir gerade auf, dass das nur sinnvoll ist, wenn nur eine Instanz des Programms läuft, da nur die Thread-IDs des erstgefundenen Prozesses aufgelistet werden.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat