Thema: Delphi OneInstance.pas

Einzelnen Beitrag anzeigen

Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: OneInstance.pas

  Alt 1. Mai 2010, 05:04
Zitat von idefix2:
Zum Thema OneInstance:
Ein Hinweis für alle, die nur verhindern wollen, dass eine zweite Instanz eines Programms gestartet wird und das neu gestartete Programm abbrechen wollen, wenn es schon eine solche gibt, ohne dem anderen Programm eine Nachricht zu schicken: Für diese Aufgabe gibt es das wenig bekannte Windows Mutex Objekt, das diese Aufgabe auf einfachste Art erledigt:

Delphi-Quellcode:
procedure AbortIfNotUnique (const Bezeichnung: string);
begin
  createMutex( nil, true, PWideChar(Bezeichnung));
  if GetLastError = ERROR_ALREADY_EXISTS then
  begin
    MessageDlg('Das Programm '+Bezeichnung+' ist schon in Betrieb'#13#10
                +'Sie können immer nur eine Version des Programmes starten',
                mtError,[mbOk],0);
    halt;
  end;
end;
Das sieht richtig uebersichtlich aus..
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat