Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
Delphi 7 Enterprise
|
Re: OneInstance.pas
1. Mai 2010, 06: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;
|
|
Zitat
|