Hallo,
ich hatte gestern Abend eine nette Unterhaltung mit einem Freund über Mutex etc.
Dies ist für mich was ganz neues und eigentlich eine sehr nette Idee.
So, nun habe ich ein Script im Internet gefunden womit man ein Mutex überprüfen kann, erstellen und schliessen.
Aber was ist, wenn ich ein bereits exestierenden Mutex schliessen möchte das von einem anderem Programm erstellt wurde? Gibt es dafür auch irgend was?
Ich habe einfach versucht das Überprüfungsscript und das Schliesscript zusammen zu fassen, leider bekomme ich beim schliessen eine 0, also ein Fehler wieder.
Könnt ihr mir da vielleicht Helfen?
$kill = _KillMutex("ThisIsATestMutix")
MsgBox (0,"Mutex",$kill)
Func _KillMutex ($szMutexName)
Local $hMutex = DllCall("Kernel32.dll", "hwnd", "OpenMutex", "int", 0x1F0001, "int", 1, "str", $szMutexName)
Local $aGLE = DllCall("Kernel32.dll", "int", "GetLastError")
If IsArray($aGLE) And $aGLE[0] = 127 Then
Local $aRM = DllCall("kernel32.dll", "int", "ReleaseMutex", "hwnd", $hMutex[0])
If IsArray($aRM) And $aRM[0] > 0 Then Return 1 ; Erfolgreich
Return -1 ; Konnte nicht getötet werden
EndIf
Return 0 ; Exestiert nicht
EndFunc
mfg Freaky