Hmmm.... ich verwende bei meinen Programmen als "Name" immer eine
GUID (Im Editor von Delphi Shift-Ctrl-G).
Der sollte dann "auf jeden Fall" eindeutig sein. Ausserdem prüfst Du falsch. Du sagst wenn der
Mutex nicht existiert soll das Programm beendet werden.
Delphi-Quellcode:
initialization
mHandle := CreateMutex(nil,True,'{4A1ADBC4-25EA-42AF-8A30-35F5A4606554}');
if (GetLastError = ERROR_ALREADY_EXISTS) then
begin
ShowMessage ('Program is already running.');
halt;
end
else
begin
end;
end;
finalization
if mHandle <> 0 then CloseHandle(mHandle);
Stephan B.
"Lasst den Gänsen ihre Füßchen"