Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

CreateMutex


1 reply to this topic

nru

nru
  • Full Members
  • 30 posts

Posted 16 November 2004 - 08:41

Hallo zusammen,

vor Monaten hatte ich mal ein wenig ScriptCode in den Händen, wo es darum ging über CreateMutex das Setup auf ein bereits gestartetes Programm, welches dieses Mutex bereits erstellt hat, reagieren zu lassen.

Doch leider, leider find ich den Code nun nicht mehr sad.gif

Hat den vielleicht jemand ?

Edited by nru, 16 November 2004 - 10:29.


nru

nru
  • Full Members
  • 30 posts

Posted 16 November 2004 - 10:28

Ich hab jetzt mal folgende Code probiert, aber leider nicht besonders erfolgreich unsure.gif

Das Mutex wird immer angelegt, egal ob die Anwendung gestartet ist und dieses Mutex bereits angelegt hat. Identische Schreibweise des Mutexnamen ist gegeben. nError ist immer 0.

Was mach ich wohl falsch ?

QUOTE

prototype NUMBER Kernel32.CreateMutex( NUMBER, BOOL, STRING );   
prototype BOOL Kernel32.CloseHandle( NUMBER );   
prototype NUMBER Kernel32.GetLastError();

#define ERROR_ALREADY_EXISTS 183

           
function BOOL DoCheckARThEMutex()           
BOOL bReturn;
NUMBER nError, hMutex;
begin

bReturn = FALSE;               
hMutex  = CreateMutex( NULL, FALSE, "ProgAktiv" );
nError  = GetLastError();         

if ((hMutex == 0) || (nError==ERROR_ALREADY_EXISTS)) then
  bReturn = TRUE;
endif;

if (hMutex != 0) then
  CloseHandle( hMutex );
endif;

return bReturn; 

end;

Edited by nru, 16 November 2004 - 10:30.