Augmente le compteur de l'objet Semaphore sp�cifi� d'une valeur donn�e
#include <WinAPIProc.au3>
_WinAPI_ReleaseSemaphore ( $hSemaphore [, $iIncrease = 1] )
$hSemaphore | Handle de l'objet Semaphore. La fonction _WinAPI_CreateSemaphore() or _WinAPI_OpenSemaphore() retourne ce handle. |
$iIncrease | [optionnel] La valeur par laquelle le compteur actuel de l'objet Semaphore doit �tre augment�e. La valeur doit �tre sup�rieure � z�ro. Si la valeur indiqu�e provoquerait le d�passement du nombre maximum sp�cifi� lors de la cr�ation du s�maphore, le compteur ne serait pas modifi� et la fonction retournerait 0. La valeur de ce param�tre par d�faut est 1. |
Succ�s: | Retourne la valeur pr�c�dente du compteur du s�maphore. |
�chec: | D�finit @error <> 0, appelez _WinAPI_GetLastError() pour obtenir des informations suppl�mentaires sur l'erreur. |
L'�tat d'un objet s�maphore est signal� lorsque son compteur est sup�rieur � z�ro et non signal� quand son compteur est �gal � z�ro. Le processus qui appelle la fonction _WinAPI_CreateSemaphore() sp�cifie la valeur initiale du compteur du s�maphore. Chaque fois qu'un processus d'attente est lib�r� en raison de l'�tat signal� du s�maphore, le compteur du s�maphore est diminu�e de un.
_WinAPI_CreateSemaphore, _WinAPI_OpenSemaphore
Consultez ReleaseSemaphore dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <WinAPIHObj.au3> #include <WinAPIProc.au3> If Not @Compiled Then MsgBox($MB_SYSTEMMODAL, '', 'Pour ex�uter ce script, vous devez premi�rement le compiler, puis ensuite ex�cuter le fichier (.exe).') Exit EndIf Local $hSemaphore = _WinAPI_CreateSemaphore('MySemaphore', 2, 2) _WinAPI_WaitForSingleObject($hSemaphore) _MyGUI() _WinAPI_ReleaseSemaphore($hSemaphore) _WinAPI_CloseHandle($hSemaphore) Func _MyGUI() GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()')) GUISetState(@SW_SHOW) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>_MyGUI