_JumpRegistry
Прыжок в раздел реестра используя Regedit.
_JumpRegistry ( $sKey )
Параметры
$sKey | Раздел реестра |
Возвращаемое значение
Успех: | Возвращает 0, если успешный запуск Regedit |
Ошибка: | Возвращает 1 и устанавливает @error равным 1 |
Примечания
Успех в данной функции является запуск Regedit, функции перехода в раздел не проверяются.См. также
_RegValueExistsПример
; AZJIO
_JumpRegistry('HKEY_CURRENT_USER\Software\Microsoft\Notepad')
Func _JumpRegistry($sKey)
Local $hWnd, $hControl, $aKey, $i
If Not ProcessExists("regedit.exe") Then
Run(@WindowsDir & '\regedit.exe')
If Not WinWaitActive('[CLASS:RegEdit_RegEdit]', '', 3) Then Return SetError(1, 1, 1)
EndIf
If Not WinActive('[CLASS:RegEdit_RegEdit]') Then WinActivate('[CLASS:RegEdit_RegEdit]')
$hWnd = WinGetHandle("[CLASS:RegEdit_RegEdit]")
$hControl = ControlGetHandle($hWnd, "", "[CLASS:SysTreeView32; INSTANCE:1]")
$aKey = StringSplit($sKey, '\')
$sKey = '#0'
For $i = 1 To $aKey[0]
ControlTreeView($hWnd, "", $hControl, "Expand", $sKey)
$sKey &= '|' & $aKey[$i]
Next
ControlTreeView($hWnd, "", $hControl, "Expand", $sKey)
ControlTreeView($hWnd, "", $hControl, "Select", $sKey)
EndFunc
Exit
; Упрощённый способ, недостаток которого перезапуск regedit.exe для последующего прыжка
RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", "REG_SZ", "HKEY_CURRENT_USER\Software\Microsoft\Notepad")
Run('regedit.exe')