Seite 2 von 2

Re: KillProcess(

Verfasst: 26.03.2024 13:04
von Andesdaf
Du erzeugst den globalen Mutex im Updater und fragst im Hauptprogramm periodisch ab, ob du diesen erstellen kannst. Wenn nicht, läuft der Updater und das Hauptprogramm beendet sich. Code kann ich mal noch raussuchen

Bspw. hier: https://www.purebasic.fr/english/viewto ... eatemutex_

Re: KillProcess(

Verfasst: 26.03.2024 15:44
von Then
Supi, danke, werde es mir mal anschauen. Meine bisherige RunProgram( Batch-Datei) im unsichtbaren Modus läuft jedoch super. Bin am überlegen, ob ich das tausche, aber für künftige Projekte ist das Mutex nicht übel.

Re: KillProcess(

Verfasst: 26.03.2024 18:44
von Axolotl
Man könnte auch das Windows Nachrichten System verwenden.

Hier mal Fragmente für eine globale Nachricht, ich habe es aber nicht selbst ausprobiert.

Code: Alles auswählen

#MainApplicationName$ = "MyApp" 

#SafetyFirst_wParam = $1234       ; 
#SafetyFirst_lParam = $12345678   

Global CloseAppMessageID 

; register in both apps with same #MainApplicationName$ 
; 
CloseAppMessageID = RegisterWindowMessage_(#MainApplicationName$ + "_CloseApp") 
; .... 
; main loop 
  If Event = CloseAppMessageID And EventwParam() = #SafetyFirst_wParam And EventlParam() = #SafetyFirst_lParam 
    AppQuit = #True   ; 
    Break ; leave the main loop now (just like #PB_Event_CloseWindow) 
  EndIf 
; ... 
SendMessage_(#HWND_BROADCAST, CloseAppMessageID, #SafetyFirst_wParam, #SafetyFirst_lParam) 


Alternativ wäre auch eine Kommunikation über #WM_COPYDATA möglich .....