Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Andere instanz beenden

  Alt 4. Okt 2018, 22:37
Auf den Thread Titel bezogen, füge TerminateOtherInstances; dem OnFormCreate zu.
Delphi-Quellcode:
procedure TForm1.TerminateOtherInstances;
var
  szClass : pchar;
  sTitle : string;
  h : THandle;

begin
  sTitle := Application.Title;
  GetMem(szClass, 256);
  GetClassName(Application.Handle, szClass, 255);
  Application.Title := 'Dummy Caption';

  h := FindWindow(szClass, pchar(sTitle));
  while h <> 0 do
  begin
    PostMessage(h, WM_QUIT, 0, 0);
    Application.ProcessMessages;
    h := FindWindow(nil, pchar(sTitle));
  end;

  Application.Title := sTitle;
  FreeMem(szClass, 256);
end;
edit
Hinweis: Das funktioniert nur für Applikationen die immer den gleichen Application.Title besitzen!
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 4. Okt 2018 um 22:46 Uhr)
  Mit Zitat antworten Zitat