| M. Raab hat folgendes geschrieben: |
| das funzt nicht, da es keinen Anwendungsnamen gibt. |
Aber es gibt einen Klassennamen, der -laut deiner Funktion!- "TEST" ist. Demzufolge führt:
Quelltext
1:
| aWnd := findwindow('TEST',nil); |
zum Ziel. Wenn dein Programm aktiv ist, gibt dir dieser Aufruf das Handle zurück. Du kannst das Fenster dann mit
Quelltext
1:
| SendMessage(aWnd,WM_CLOSE,0,0); |
schließen oder bspw. wieder in den Vordergrund holen:
Quelltext
1: 2: 3:
| if not IsWindowVisible(aWnd) then SendMessage(aWnd,WM_SYSCOMMAND,SC_RESTORE,0); SetForegroundWindow(aWnd); |
Die Grundidee mit dem Mutex (s. Link) würde ich aber übernehmen, dann weißt du wirklich sicher, dass
dein Programm aktiv ist. Es könnte ja auch andere Fenster mit dem Klassennamen "TEST" geben.