Erzeugt eine neue kürzlich verwendet (most recently used, MRU) Liste.
#include <WinAPIReg.au3>
_WinAPI_CreateMRUList ( $hKey, $sSubKey [, $iMax = 26] )
$hKey | Das Handle zum aktuell offenen Schlüssel oder eine der folgenden vordefinierten Werte unter welcher die MRU Daten gespeichert werden sollen. $HKEY_CURRENT_USER $HKEY_LOCAL_MACHINE |
$sSubKey | Der Unterschlüssen unter welcher die MRU Daten gespeichert werden sollen. |
$iMax | [optional] Die maximale Anzahl an Einträgen in der MRU Liste. Standard ist 26 (A..Z). |
Erfolg: | Das Handle zu der neuen MRU Liste. |
Fehler: | 0. |
Das Handle ist eine Ganzzahl (Integer)!
_WinAPI_AddMRUString, _WinAPI_FreeMRUList
Suche nach CreateMRUListW in der MSDN Bibliothek.
#include <APIRegConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIReg.au3>
Local $hMRU = _WinAPI_CreateMRUList($HKEY_CURRENT_USER, 'Software\MyProg\MRU', 5)
; Erstellt eine MRU-Liste in der Registry (nur beim ersten Start des Beispiels)
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)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton
_WinAPI_AddMRUString($hMRU, GUICtrlRead($idCombo))
ExitLoop
EndSwitch
WEnd
_WinAPI_FreeMRUList($hMRU)