Entwickler-Ecke
Windows API - Richtiges Handle bekommen
Swordooo - Mi 05.08.09 15:43
Titel: Richtiges Handle bekommen
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!
Delete - 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 - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!