Thema: Delphi Hänger bei Sendmessage

Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#3

AW: Hänger bei Sendmessage

  Alt 6. Jul 2015, 15:41
Ich mache das so ähnlich, nur mit einigen kleinen Unterschieden:
Delphi-Quellcode:
LimitInstancesMsg:= RegisterWindowMessage(PChar('LimitInstanceMessage.' + PRODUCTNAME));

hMutex:= CreateMutex(nil, True, PRODUCTNAME + PRODUCTNAME + PRODUCTCOPYRIGHT);
if GetLastError = ERROR_ALREADY_EXISTS then
begin
    SendMessage(HWND_BROADCAST, LimitInstancesMsg, 0, 0);
    Exit;
end;
Prinzipiell hat aber SendMessage, gerade bei einem Broadcast, das Problem, dass es erst zurückkehrt, wenn alle Fenster die Nachricht empfangen und verarbeitet haben (wie auch in meinem Code). Mögliche Lösungen: PostMessage statt SendMessage benutzen oder Fenster aller eigenen Instanzen suchen und die Message nur an diese senden.

MfG Dalai
  Mit Zitat antworten Zitat