- Сообщения
- 5,379
- Репутация
- 2,724
AutoIt: 3.3.0.0
Версия: 1.3
Категория: Система / Реестр
Описание: Если Вы хоть раз заглядывали в реест Windows, то скорее всего видели записи подобные тем, что на представленном ниже скриншоте. Собственно это и есть MRU списки. Данная библиотека позволяет загружать такие списки из реестра, работать с ними и записывать обратно в реестр. Примерная последовательность действий показана в примерах ниже.
Пример 1:
Пример 2:
Скриншот:
Источник: MRU UDF (оффициальный форум)
Автор: Yashied
Версия: 1.3
Категория: Система / Реестр
Описание: Если Вы хоть раз заглядывали в реест Windows, то скорее всего видели записи подобные тем, что на представленном ниже скриншоте. Собственно это и есть MRU списки. Данная библиотека позволяет загружать такие списки из реестра, работать с ними и записывать обратно в реестр. Примерная последовательность действий показана в примерах ниже.
Пример 1:
Код:
#Include <MRU.au3>
Global Const $RegKey = 'HKLM\SOFTWARE\Test\MRU'
Global $Mru, $Array
$Mru = _MRU_Create()
_MRU_AddItem($Mru, 'Item 4')
_MRU_AddItem($Mru, 'Item 3')
_MRU_AddItem($Mru, 'Item 2')
_MRU_AddItem($Mru, 'Item 1')
MsgBox(0, '', _MRU_GetAsString($Mru, '|'))
_MRU_SetSize($Mru, 2)
$Array = _MRU_GetAsArray($Mru)
For $i = 1 To $Array[0]
MsgBox(0, '', $Array[$i])
Next
_MRU_RegWrite($Mru, $RegKey)
_MRU_Release($Mru)
Пример 2:
Код:
#Include <GUIComboBox.au3>
#Include <GUIConstantsEx.au3>
#Include <WindowsConstants.au3>
#Include <MRU.au3>
Global Const $RegKey = 'HKLM\SOFTWARE\Test\MRU'
Global $ButtonOk, $Combo, $Msg, $Mru
$Mru = _MRU_Create($RegKey)
GUICreate('Test', 400, 88)
$Combo = GUICtrlCreateCombo('', 20, 20, 360, 21)
GUICtrlSetData(-1, _MRU_GetAsString($Mru, '|'), _MRU_GetItem($Mru, 1))
$ButtonOk = GUICtrlCreateButton('OK', 165, 58, 70, 21)
GUISetState()
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
Do
$Msg = GUIGetMsg()
If $Msg = $ButtonOk Then
_MRU_AddItem($Mru, GUICtrlRead($Combo))
_MRU_RegWrite($Mru)
EndIf
Until ($Msg = $ButtonOk) Or ($Msg = $GUI_EVENT_CLOSE)
_MRU_Release($Mru)
Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
Switch BitAND($wParam, 0xFFFF)
Case $Combo
Switch BitShift($wParam, 16)
Case $CBN_EDITCHANGE
_GUICtrlComboBox_AutoComplete($Combo)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND
Скриншот:
Источник: MRU UDF (оффициальный форум)
Автор: Yashied