Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
Delphi 5 Professional
|
Re: CreateSemaphore
14. Sep 2004, 13:57
Hab' mal versucht das mit MMF umzusetzen. Das ist dabei herausgekommen...
Delphi-Quellcode:
const
MMFName = '{8EC74560-C6B6-44A2-B466-7027525527E0}';
var
MMFHandle: THandle;
LastError: DWORD;
initialization
MMFHandle := OpenFileMapping(FILE_MAP_ALL_ACCESS, False, MMFName);
LastError := GetLastError;
if MMFHandle <> 0 then
MessageBox(0, 'Diese Anwendung wird bereits ausgeführt.', nil, MB_OK or MB_ICONEXCLAMATION);
if (MMFHandle = 0) and (LastError = ERROR_ACCESS_DENIED) then
MessageBox(0, 'Diese Anwendung wird bereits unter einem anderem Benutzerkonto ausgeführt.',
nil, MB_OK or MB_ICONEXCLAMATION);
if (MMFHandle = 0) and (LastError = ERROR_FILE_NOT_FOUND) then
begin
MMFHandle := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, 1, MMFName);
Exit;
end;
Halt(0);
finalization
if MMFHandle <> 0 then
CloseHandle(MMFHandle);
end.
Ist auf jeden Fall besser als GlobalAddAtom.
Ciao, Sprint.
"I don't know what I am doing, but I am sure I am having fun!"
|
|
Zitat
|