函数参考


_WinAPI_EnumMRUList

枚举最近使用(MRU)列表的内容.

#Include <WinAPIEx.au3>
_WinAPI_EnumMRUList ( $hMRU, $iItem )

参数

$hMRU MRU 列表句柄.
$iItem 返回的项目.如果此值为 -1, 则函数返回 MRU 列表的项目数.

返回值

成功: 返回 $iItem 指定的项目.如果 $iItem 为 -1, 则函数返回 MRU 列表的项目数.
失败: 返回 0,并设置@error标志为非 0 值.

注意/说明

None

相关

详情参考

在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)