Autor Beitrag
Swordooo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 119

W2K, Windows XP Professional
Delphi 2005 Personal, Delphi 7 Personal
BeitragVerfasst: Mi 05.08.09 15:43 
Hallo an alle!
Ich habe folgendes Problem: Ich habe 2 gleiche Anwendungen, die bereits laufen, bevor ich mein Delphi-Programm starte. Diese beiden Anwendungen haben den gleichen *.exe Namen (Prozess-Name) und die gleiche Form-Caption!

Mein Delphi Programm soll nun eine 3. Anwendung starten, die genau den gleichen Namen (*.exe, Caption) hat wie die anderen beiden. Wie bekomme ich nun das richtige Handle von dem Programm, das gerade gestartet wurde? Sorry wenn ich mich etwas kompliziert ausgedrückt habe -.-.

Danke schonmal im Voraus!
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 05.08.09 15:54 
Ein Ansatz: das Programm mit ShellExecuteEx oder CreateProcess starten, mit EnumWindows durch die Fenster iterieren und mit GetWindowThreadProcessId mit der ProcessId des gestarteten Programmes vergleichen.
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 05.08.09 22:04 
Kommt auf drauf an welches handle du willst. CreateProcess liefert das Processhandle/id Threadhandle/id zurück. Mit EnumThreadWindows solltest so auch an das Window handle kommen.

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit