[external function declaration]
FUNCTION ulong CreateMutexA(ulong lpMutexAttributes, boolean bInitialOwner, REF string lpszName) &
LIBRARY "kernel32.dll"
FUNCTION long GetLastError() LIBRARY "kernel32.dll"
[powerscript]
constant ulong ERROR_ALREADY_EXISTS = 183
constant ulong SUCCESSFUL_EXECUTION = 0
ulong lul_mutex
ulong lpsa
ulong lul_last_error
boolean lb_ret = FALSE
IF NOT (Handle(GetApplication()) = 0) THEN
lul_mutex = CreateMutexA(lpsa, FALSE, as_appname)
lul_last_error = GetLastError()
lb_ret = NOT (lul_last_error = SUCCESSFUL_EXECUTION)
END IF
RETURN lb_ret