Wenn das Prog ein 2. Mal aufgerufen wird, das zuerst gestartete Fenster aktivieren und dann beenden - Win API
-
Hallo,
wie der Titel (vielleicht ein Stück zu lang?
) schon sagt:ich möchte, dass mein Programm, wenn es schon läuft und ein zweites Mal aufgerufen wird, das zuerst gestartete Programmfenster in den Vordergrund bringt und sich dann beendet.
Ich habe schon gehört, dass das mit irgendeinem Windows API-Aufruf gehen soll.
Dieser Aufruf würde zum ersten Mal gehen, aber dann würde er mir false zurückgeben
wenn er fehlschlägt (Also mein Programm schon einmal rennt). Beim Beenden des 1.ten Programms müsste er dann, wenn mein Gedankengang richtig ist, auch eine Funktion zum Aufräumen (Windows sagen dass jetzt die erste Funktion wieder freigegeben werden soll). Nun weiß ich aber nicht, welche API-Funktionen das erledigen, und ich wäre über jeden Vorschlag dankbar.
Außerdem würde ich dann noch gerne wissen, wie man eine Nachricht, die mein Programm bekommt, annimmt (welcher Event?). Ich würde nämlich, bevor das 2.te gestartete Programm sich beendet, mit SendMessage (liege ich da richtig?) eine Nachricht an das 1.te gestartete Programm schicken, damit es sich in den Vordergrund bringt (soll eigentlich sichtbar werden und in den Vordergrund springen). Hier wäre ich auch dankbar für Lösungsvorschläge.P.S. Ich verwende den Borland C++ Builder 5.
Mfg
David Madl
-
-
...und
http://www.marquardtnet.info/cecke/quickies.1/1_quicky_30.html
http://www.bytesandmore.de/rad/index.htm?http://www.bytesandmore.de/rad/cpp/snipp/sc06014.phpSuch dir eins aus.

-
Wow!
1. schnell. Zweitens konnte ich das nicht so formulieren, dass es für Google kurz genug gewesen wäre...
DANKE jedenfalls
!
-
Ähm.
Ich programmier noch nicht so lang mit C++Builder:
Ich weiß nicht wo die WinMain implementiert ist?!
Die muss ja irgendwo schon implementiert sein sonst läuft es ja nicht...
Dann kann ich sie ja nicht einfach 2mal implementieren.Mfg
David Madl
-
Projekt -> Quelltext anzeigen
-
Thx nochmal

-
Du kannst auch die Version für "faule" Programmierer verwenden
einfach die JEDI Visual Component Library von http://homepages.borland.com/jedi/jvcl/ runterladen und installieren
dann eine JvAppInstances1 auf die Form ziehen Active auf true stellen und fertig bist du.Die JvAppInstances1 hat noch einen Vorteil es ist ein Ereignis
CmdLineReceived vorhanden, in dem die Parameterübergaben vom zweiten gestarteten Programm abgefragt und verarbeitet werden können.