Was ist denn gegen einen globalen
Mutex einzuwenden?
Delphi-Quellcode:
initialization
hApp := CreateMutex(nil, True, 'Global\MYAPP');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
MessageDlg('Die Software kann nur einmal gestartet werden!', mtError, [mbOK],0);
Halt;
end;
finalization
if hApp <> 0 then CloseHandle(hApp);
Edit: Da dieser Code ja für die Lib vorgeschlagen wurde ein Nachtrag.
Das
Handle sollte beim Beenden natürlich wieder freigegeben werden