Crée une nouvelle liste MRU (Most Recent Used)
#include <WinAPIReg.au3>
_WinAPI_CreateMRUList ( $hKey, $sSubKey [, $iMax = 26] )
$hKey | Handle à la clé actuellement ouverte, ou l'une des valeurs prédéfinies suivantes sous laquelle stocker les données MRU. $HKEY_CURRENT_USER $HKEY_LOCAL_MACHINE |
$sSubKey | La sous-clé sous laquelle stocker les données MRU. |
$iMax | [optionnel] Le nombre maximum d'entrées dans la liste MRU. Par défaut, 26 (A..Z). |
Succès: | Retourne le handle de la nouvelle liste MRU. |
Échec: | Retourne 0. |
Le handle est un integer!!!.
_WinAPI_AddMRUString, _WinAPI_FreeMRUList
Consultez CreateMRUListW dans la librairie MSDN.
#include <APIRegConstants.au3> #include <ComboConstants.au3> #include <GUIConstantsEx.au3> #include <WinAPIReg.au3> Local $hMRU = _WinAPI_CreateMRUList($HKEY_CURRENT_USER, 'Software\MyProg\MRU', 5) ; Crée la liste MRU dans le registre (uniquement au premier démarrage) RegRead('HKCU\Software\MyProg\MRU', 'MRUList') If @error Then For $i = 5 To 1 Step -1 _WinAPI_AddMRUString($hMRU, 'String'& $i) Next EndIf GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 320, 92) Local $idCombo = GUICtrlCreateCombo(_WinAPI_EnumMRUList($hMRU, 0), 10, 20, 300, 21, $CBS_DROPDOWNLIST) Local $iCount = _WinAPI_EnumMRUList($hMRU, -1) Local $sData = '' For $i = 1 To $iCount - 1 $sData &= _WinAPI_EnumMRUList($hMRU, $i) & '|' Next GUICtrlSetData(-1, $sData) Local $idButton = GUICtrlCreateButton('OK', 125, 58, 70, 23) GUISetState(@SW_SHOW) Local $iMsg Do $iMsg = GUIGetMsg() Until $iMsg = $GUI_EVENT_CLOSE Or $iMsg = $idButton If $iMsg = $idButton Then _WinAPI_AddMRUString($hMRU, GUICtrlRead($idCombo)) EndIf _WinAPI_FreeMRUList($hMRU)