Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
2.263 Beiträge
 
Delphi 2010 Professional
 
#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
Wenn ein unerwarteter Fehler aufgetreten ist, frage ich mich immer, welche Fehler erwartet wurden...

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