Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Prüfen ob ein Programm schon aktiv ist mit PeekMessage? (https://www.delphipraxis.net/34288-pruefen-ob-ein-programm-schon-aktiv-ist-mit-peekmessage.html)

Helmi 20. Nov 2004 16:20


Prüfen ob ein Programm schon aktiv ist mit PeekMessage?
 
Hallo,

ich hab folgendes Problem:

Ich öffne aus meinem Programm (Prog1) ein anderes Programm (Prog2). Das funktioniert auch ganz gut.
Wenn das Prog1 gestartet wurde dann sendet dieses Prog an das Prog2 mit WM_CopyData ein paar Daten.

So weit so gut - das geht auch.

Mein Problem ist nur dass das Prog1 nicht weiss ob das Prog2 schon läuft und "empfangsfähig" ist.
Momentan löse ich es, in dem ich zwischen dem starten des Prog2 und dem Senden eine Zeit (sleep) programmiert hab und dadurch hoffe dass dann das Programm fertig geladen hat.

Ich möchte dies aber sicherer wissen und hab mir überlegt ob das nicht mit PeekMessage oder GetMessage gehen könnte.

Was ich weiss verlangt PeekMessage eine Antwort.

Weiss jemand vielleicht wie ich das realisieren könnte? und/oder ob es ne andere, vielleicht bessere Lösung gibt?

Hier in die DP hab ich schon gesucht, hab aber nix gefunden was mir helfen könnte.

mfg
Helmi

Christian Seehase 20. Nov 2004 20:27

Re: Prüfen ob ein Programm schon aktiv ist mit PeekMessage?
 
Moin Helmi,

wenn Du das zweite Programm mit Hier im Forum suchenCreateProcess oder Hier im Forum suchenShellExecuteExstartest, kannst Du mit Hier im Forum suchenWaitForInputIdle warten, bis das Programm soweit ist.

Helmi 20. Nov 2004 20:43

Re: Prüfen ob ein Programm schon aktiv ist mit PeekMessage?
 
Hallo,

ich habs jetzt anders gelöst. Nämlich folgender maßen:

Prog1 öffnet das Prog2

Wenn das Prog2 geladen ist sendet es per SendMessage eine Message an Prog1 dass Prog1 jetzt senden kann

Wenn gesendet wurde schickt Prog2 an Prog1 ein WM_Quit und Prog1 beendet sich


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 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