枚举最近使用(MRU)列表的内容.
#Include <WinAPIEx.au3>
_WinAPI_EnumMRUList ( $hMRU, $iItem )
$hMRU | MRU 列表句柄. |
$iItem | 返回的项目.如果此值为 -1, 则函数返回 MRU 列表的项目数. |
成功: | 返回 $iItem 指定的项目.如果 $iItem 为 -1, 则函数返回 MRU 列表的项目数. |
失败: | 返回 0,并设置@error标志为非 0 值. |
在MSDN中搜索
#Include <APIConstants.au3>
#Include <ComboConstants.au3>
#Include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
Global $hForm, $hMRU, $Msg, $Button, $Combo, $Count, $Data = ''
$hMRU = _WinAPI_CreateMRUList($HKEY_CURRENT_USER, 'Software\MyProg\MRU', 5)
; 在注册表中创建 MRU 列表 (仅在首个示例的开始部分)
RegRead('HKCU\Software\MyProg\MRU', 'MRUList')
If @error Then
For $i = 5 To 1 Step -1
_WinAPI_AddMRUString($hMRU, 'String' & $i)
Next
EndIf
GUICreate('MyGUI', 320, 92)
$Combo = GUICtrlCreateCombo(_WinAPI_EnumMRUList($hMRU, 0), 10, 20, 300, 21, $CBS_DROPDOWNLIST)
$Count = _WinAPI_EnumMRUList($hMRU, -1)
For $i = 1 To $Count - 1
$Data &= _WinAPI_EnumMRUList($hMRU, $i) & '|'
Next
GUICtrlSetData(-1, $Data)
$Button = GUICtrlCreateButton('OK', 125, 58, 70, 23)
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
ExitLoop
Case $Button
_WinAPI_AddMRUString($hMRU, GUICtrlRead($Combo))
ExitLoop
EndSwitch
WEnd
_WinAPI_FreeMRUList($hMRU)