Страница 19 из 19
Добавлено: Вт июн 07, 2016 18:55
MVV
Skif_off писал(а):А вот если запустить "%WinDir%\regedit.exe", то получим regedit.exe родной разрядности ОС.
А вот не факт. Запустил из 32-битного тотала файл
regedit.exe в папке винды и наблюдаю процесс в Process Hacker:
Код: Выделить всё
Command line: "C:\Windows\regedit.exe"
Image file name: C:\Windows\SysWOW64\regedit.exe
Добавлено: Вт июн 07, 2016 19:26
Skif_off
MVV
Не понял, как ты запустил? Win7x64, TCx32:
- пишу regedit.exe в кнопке или командной строке ТС - получаю regedit.exe *32, вижу и в Process Hacker, и в диспетчере задач;
- пишу %WinDir%\regedit.exe в кнопке или командной строке ТС - получаю x64-regedit.exe, вижу и в Process Hacker, и в диспетчере задач. Двойной клик по C:\Windows\regedit.exe - аналогично.
Если запускаю консоль из ТСх32, то в ней всё аналогично: без пути - C:\Windows\SysWOW64\regedit.exe, с %WinDir% - C:\Windows\regedit.exe
Имею в виду сам процесс, а не Command line.
Добавлено спустя 5 минут:
Собственно, можно и без диспетчеров/хакеров, раз уж редактор запустился: ветка HKLM\Software\WOW6432Node есть - х64, нет - х32.
Добавлено: Вт июн 07, 2016 20:00
I95
Skif_off, спасибо Вам огромное за помощь в решении моей проблемы! У меня эти 2 проблемных ключа нужно было восстановить (rebuild). Что я сделал (решение из интернета):
1. В разделе реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib
- изменить значение
Last Counter на
1846 (десятичное число)
- изменить значение
Last Help на
1847 (десятичное число)
2. В командной строке из папки "System32" (cd\windows\system32) выполнить команду:
lodctr /R
Все. Ключи восстановились, поиск стал снова работать

Добавлено: Вт июн 07, 2016 23:06
MVV
Skif_off писал(а):Собственно, можно и без диспетчеров/хакеров, раз уж редактор запустился: ветка HKLM\Software\WOW6432Node есть - х64, нет - х32.
Иногда в ключе
WOW6432Node есть подключ
WOW6432Node, так что с виду сразу и не скажешь, что за птица запустилась.
Skif_off писал(а):Не понял, как ты запустил? Win7x64, TCx32:
- пишу regedit.exe в кнопке или командной строке ТС - получаю regedit.exe *32, вижу и в Process Hacker, и в диспетчере задач;
- пишу %WinDir%\regedit.exe в кнопке или командной строке ТС - получаю x64-regedit.exe, вижу и в Process Hacker, и в диспетчере задач. Двойной клик по C:\Windows\regedit.exe - аналогично.
Если запускаю консоль из ТСх32, то в ней всё аналогично: без пути - C:\Windows\SysWOW64\regedit.exe, с %WinDir% - C:\Windows\regedit.exe
В свою очередь я не понимаю, как запускаешь ты.

Хоть ентером в папке винды стартую
regedit.exe, хоть в комстроке пишу
%WinDir%\regedit.exe, а итог один, такой, как я писал ранее (путь к запускающемуся образу
C:\Windows\SysWOW64\regedit.exe). Система Win7x64 SP1 Pro/Ent, TC 8.52a x32.
Впрочем, я понял, почему так. Дело в переменной окружения
__COMPAT_LAYER=RunAsInvoker, которая у меня в тотале установлена, чтобы всякая малварь не просила прав админа при запуске (а то я много чего из тотала запускаю; впрочем, на
regedit.exe это тоже действует). Возможно, она влияет на разрядность запускаемого
regedit.exe из-за того, что при запуске с повышением окружение родительского процесса не наследуется.
Кстати, ещё одно
но: из админской 32-битной консоли
%WinDir%\regedit.exe так же запускает 32-битный
regedit.exe (видимо, опять же, из-за отсутствия повышающей прослойки между процессами).
Добавлено: Ср июн 08, 2016 00:15
Skif_off
MVV писал(а):Иногда в ключе WOW6432Node есть подключ WOW6432Node, так что с виду сразу и не скажешь, что за птица запустилась.
Не встречал такого, видел только ветку
HKCU\Software\WOW6432Node, что-то из инсталлера драйверов/ССС AMD туда пишет. Собственно, если пару раз заглядывал в реестр, то опускать глаза по TreeView до буквы W и не нужно - уже по первым веткам видно, что в
HKLM\Software содержимое
HKLM\Software\WOW6432Node.
ОС и ТС те же,
с кнопками
Код: Выделить всё
TOTALCMD#BAR#DATA
regedit.exe
wcmicons.dll,79
-1
Код: Выделить всё
TOTALCMD#BAR#DATA
%WinDir%\regedit.exe
wcmicons.dll,79
-1
вторая - запускает
C:\Windows\regedit.exe
MVV писал(а):Дело в переменной окружения __COMPAT_LAYER=RunAsInvoker
Суров

Я такие вещи в HIPS разрулил и UAC включен.
MVV писал(а):Возможно, она влияет на разрядность запускаемого regedit.exe из-за того, что при запуске с повышением окружение родительского процесса не наследуется.
А вот это не понял: ну и пусть не наследуется, та же
%WinDir% - системная и не зависит от разрядности, в консоли же в таком случае всё системное всё равно доступно и командой
set видно.
MVV писал(а):Кстати, ещё одно но: из админской 32-битной консоли %WinDir%\regedit.exe так же запускает 32-битный regedit.exe (видимо, опять же, из-за отсутствия повышающей прослойки между процессами).
Вот это да-а-а... Офигеть, даже с прямым путём, развернув
%WinDir%, - всё равно 32-битный из
SysWOW64 
)
I95
Да не за что, вы сами всё сделали

Статью на сайте поддержки MS видел, но вот значения не придал: думал, что если реестр повреждён или некорректно изменён - это скажется не только вылетами плагина.
Добавлено: Ср июн 08, 2016 11:30
MVV
Skif_off писал(а):Суров

Я такие вещи в HIPS разрулил и UAC включен.
Очень сильно сомневаюсь (даже скорее уверен в обратном), что HIPS позволяет запускать без прав администратора то, что может работать и без них, но в манифесте прописано
HighestAvailable. В основном это всякие инсталляторы, но есть и разные программки, которые мне по разным причинам надо запустить, и про которые я нутром чую, что права админа им не нужны, но им хочется. Перехочется, у меня есть волшебная переменная, позволяющая игнорировать манифесты!
Skif_off писал(а):Вот это да-а-а... Офигеть, даже с прямым путём, развернув
%WinDir%, - всё равно 32-битный из
SysWOW64 
)
Вот такой мелкомягкий замут.

Чтобы наверняка, это надо через промежуточный процесс нужной разрядности, например (запуск 64-битного
regedit.exe из 32-битного процесса):
Код: Выделить всё
C:\Windows\Sysnative\cmd.exe /c "regedit.exe"
Добавлено: Ср июн 08, 2016 11:57
Skif_off
MVV писал(а):Очень сильно сомневаюсь (даже скорее уверен в обратном), что HIPS позволяет запускать без прав администратора то, что может работать и без них, но в манифесте прописано HighestAvailable.
Так и есть, просто проактивка гавкает, если нет явного разрешения.
Добавлено: Ср июн 08, 2016 12:54
MVV
Skif_off писал(а):Так и есть, просто проактивка гавкает, если нет явного разрешения.
Проактивка есть и у меня, но она делает совсем другое. Она не поможет запустить-таки программку, при этом не давая ей админских прав. А не дать права всегда лучше, чем сначала дать, а потом отбирать.
Добавлено: Ср июн 08, 2016 14:06
Skif_off
MVV
Я и не говорю, что она делает то самое, просто лишний алерт, если вдруг
всякая малварь. Зато без сюрпризов с
regedit в частности

)
Но рецепт таки забил в txt'шник, надо подумать.
Добавлено: Вс мар 03, 2019 14:59
LonerD
Плагин стабильно закрывал Тотал при каждом поиске по HKCU\Software.
Проблема оказалась в ветке реестр HKCU\Software\League of Geeks (игра Armello), которая разрослась до 140 Мб. Видимо, плагин не может переварить такой объём.
Добавлено: Сб дек 21, 2019 13:43
WindR
MVV
Возможно добавить распознавание алайаса HKLM как HKEY_LOCAL_MACHINE?
Это нужно для быстрого перехода по скопированным путям.
Добавлено: Сб дек 21, 2019 13:52
Flasher
WindR писал(а):Это нужно для быстрого перехода по скопированным путям.
О чём именно речь?
Добавлено: Чт янв 02, 2020 17:19
WindR
Flasher
Копируем в буфер обмена например путь "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer"
Сейчас плагин не распознаёт ссылку \\\Редактор реестра\HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\
Приходится править HKCU на HKEY_CURRENT_USER
Было бы удобно открывать куст реестра из буфера обмена в плагине по горячей клавише, по типу команды regup=clpget TCImg, но только с помощью данного плагина.
Добавлено: Чт янв 02, 2020 19:00
Flasher
WindR
Ну, разве это проблема для автоматизации (
моего старого скрипта, в частности)?