PDA

Показать полную графическую версию : [решено] Утилита для перехода в заданный раздел реестра


Страниц : 1 2 [3] 4 5 6 7 8 9

Vadikan
25-12-2010, 17:25
AZJIO, сейчас главное не запутаться, где какой код :) Просто у меня в посте 39 интерфейс был уже вычищен и сокращен.

код с примагничиванием, в своём посте убрал.»
Это был
If $GP=-11 Then Sleep(300)
If WinExists('[CLASS:RegEdit_RegEdit]') Then
$GP=WinGetPos($Gui)
$GP1=WinGetPos('[CLASS:RegEdit_RegEdit]')
If $GPtmp<>$GP[1] Or $GP1[1]<>$GP[1]+90 Then
WinMove('[CLASS:RegEdit_RegEdit]', '', $GP1[0], $GP[1]+90)
EndIf
$GPtmp=$GP[1]
EndIf
Если так, то я удалил из 39 этот блок и заменил в тексте про избранное "со следующей строки" :)

AZJIO
25-12-2010, 17:43
Vadikan, извиняюсь, сохранить забыл в утилите сравнения и кинул частично подправленный текст.
Заменил в последнем посте (http://forum.oszone.net/post-1574304-38.html) (последний пост содержащий код утилиты) окончательную версию.
Да, этот блок убрать и в строке 20, где Global $aRecords, $kol_item, $list='' убрать лишние $GP=-11 и $GPtmp=12

Vadikan
25-12-2010, 18:23
AZJIO, ок, все понял. Я обновил шапку: 31 пост с выбором метода, 38 пост - текущая утилита.

Morpheus, потести, плиз, на х64.

P.S. Я вот подумал, что по правилам распространения нужно с regscanner также распространять его CHM и readme, чтобы не обижать автора. Я при компиляции добавлю их.

Morpheus
25-12-2010, 19:11
Из 38 в 64 работает.
Избранное и история сбивают, хто есть хто? Ответ нашел только в теме.
У меня браузером по умолчанию там оказалась опера, жмакнул ссылку и вот:
http://s015.radikal.ru/i333/1012/9f/35485fecdf3et.jpg (http://radikal.ru/F/s015.radikal.ru/i333/1012/9f/35485fecdf3e.jpg.html)
хотя страница открывается. Воспроизводится только при незапущенной опере. С ие проблем нет.

RegScanner_lng.ini »
Он нужен?

saavaage
25-12-2010, 19:13
AZJIO, у меня код поста 38 при запуске выдает след - аттач

Morpheus
25-12-2010, 19:16
saavaage, ага, тоже такую ерунду выдал при первом запуске, но при забивке путей переходит нормально и историю сохраняет. Ерунда уехала вниз.

Vadikan
25-12-2010, 19:24
Избранное и история сбивают, хто есть хто? »
Ну я не знаю даже... истории адресной строки никогда не видел что-ли? :) Можно, кстати, заменить первый пункт в Избранном на "Управление избранным". А то какой-то файл открыть - непонятно что это.

Он нужен? »
Это языковой интерфейс русский. Люди же захотят открыть и посмотреть, плюс по правилам распространения нужно с regscanner также распространять его CHM и readme, чтобы не обижать автора. Я при компиляции добавлю их. »
тоже такую ерунду выдал при первом запуске »
Подтверждаю, кстати.

AZJIO
25-12-2010, 19:55
Подтверждаю, кстати. »
Отписывал, что вернул вариант не бинарного сохранения истории в реестр и написал что надо удалить историю в реестре. В предыдущей с выбором метода остался бинарный вариант, хотел оставить для примера, но видимо придётся тоже исправить на однотипное - небинарное. И ещё - сколько символов поддерживает тип REG_SZ, если нет ограничения, то окончательно оставить не бинарный вариант (тестил только до 26 пунктов истории, ограничение поставил на 50).
CHM дописал
Он нужен? » Ну если утилита у нас русифицирована, то пускай будет.

Обновил пост, в котором код с выбором утилиты. Теперь совместимы с последним вариантом. А бинарная строка в комбобоксе - можно удалить в реестре или дождаться когда уйдёт в небытиё истории.

Morpheus
25-12-2010, 20:07
Ну я не знаю даже... истории адресной строки никогда не видел что-ли? »
Конечно же нет :) Когда понятно, что это - не сбивает.
Люди же захотят открыть и посмотреть »
Нефиг :) Два exe будут путать при следующих запусках, м.б. regscanner.exe переименовать в dll?
Отписывал, что вернул вариант не бинарного сохранения истории в реестр и написал что надо удалить историю в реестре. »
Ааа, теперь всё гут.
HKCU\Software\JumpRegAzjio

AZJIO
26-12-2010, 08:50
Vadikan, сделал иконку и откомпилировал ссылка (http://azjio.ucoz.ru/load/vsjo_dlja_autoit3/skompilirovannye_skripty/jumpreg/4-1-0-36) (исходники с иконкой в комплекте). Для компактности использовал версию AutoIt3_v3.2.12.1 (296кб против 336кб). Опять же требуется проверить на Win7 x64.
+ Сохранение позиции окна

Vadikan
26-12-2010, 10:42
Спасибо!

x64 (http://tools.oszone.net/Vadikan/files/JumpReg-x64.zip)
Сохранение позиции окна работает.

Morpheus
26-12-2010, 13:03
AZJIO, спасибо!
Vadikan, 404.

UPD: скомпилировал, тестирую 64. Вот такая непонятка:
http://i059.radikal.ru/1012/e7/94f50408f3cft.jpg (http://radikal.ru/F/i059.radikal.ru/1012/e7/94f50408f3cf.jpg.html)

UPD: на 32 то же самое.

AZJIO
26-12-2010, 20:38
Morpheus, понял... я сделал функцию проверки существования методом наличия либо подраздела либо параметра, а если ни того ни другого, то выдаёт "не сществует". Стандартой проверки существования раздела реестра в AutoIt нет. Чуть позже попробую выполнить эту функцию через ком-строку, например:
REG QUERY "HKEY_CURRENT_USER\Keyboard Layout\Substitutes"
if %errorlevel%==0 Notepad.exe получив результат из выходного потока... всё будет работать нормально.

Vadikan
26-12-2010, 20:40
Поправил ссылку. Но проблему не могу воспроизвести.

madmasles
26-12-2010, 21:13
Стандартой проверки существования раздела реестра в AutoIt нет. »Я так наличие проверяю. Еще ни разу не подводило:#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <WinAPIEx.au3>

Opt (http://www.autoitscript.com/autoit3/docs/functions/Opt.htm)('MustDeclareVars', 1)

Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $hKey

$hKey = _WinAPI_RegOpenKey($HKEY_LOCAL_MACHINE, 'SOFTWARE\AutoIt v3\AutoIt')
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) $hKey Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(16, 'Ошибка', 'Нет раздела')
Else (http://www.autoitscript.com/autoit3/docs/keywords.htm#Else)
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(64, 'OK', $hKey)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)

Yashied
26-12-2010, 21:14
Стандартой проверки существования раздела реестра в AutoIt нет. »

RegRead('HKEY_CURRENT_USER\Keyboard Layout\Substitutes', '')
Switch @error
Case 0
ConsoleWrite('OK' & @CR)
Case 1
ConsoleWrite('Registry key not found.' & @CR)
Case -1
ConsoleWrite('Registry value not found.' & @CR)
;~ Case ...
;~
EndSwitch

AZJIO
26-12-2010, 23:08
Morpheus, поравил
; MerkurAlex (mod AZJIO)
; http://www.autoitscript.com/forum/topic/70203-regexists/page__view__findpost__p__514688
Func _Reg_Exists($key)
Local $Err=RunWait('reg query "'&$key&'"','',@SW_HIDE)
If $Err=0 Then
Return 1
Else
Return 0
Endif
EndFunc

и поправил, если указать историю больше 50, то устанавливается максимально возможное 50, раньше игнорировалось оставляя предыдущее значение, а это заставлят искать наибольший параметр методом тыка. Проверил корректность 50 пунктов истории, появляется прокрутка в комбобоксе. Можно увеличить параметр, но желательно с проверкой корректности хранения в реестре.

Ссылки обновил, посты подправил.

Morpheus
27-12-2010, 00:08
AZJIO, теперь ок, спасибо!

FlatX007
27-12-2010, 08:22
На Win7 x86 - 7600, вообще никуда не прыгает, даже regedit не открывает.

Morpheus
27-12-2010, 10:22
FlatX007, у всех она, всё прыгает :)
Win+Pause ---> Дополнительные параметры системы ---> Переменные среды ---> Path выглядит так?
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShel l\v1.0\

Win+R ---> regedit - открывает?




© OSzone.net 2001-2012