Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Реестр(х32) и WOW6432Node

Ответить
Настройки темы
Разное - [решено] Реестр(х32) и WOW6432Node

Пользователь


Сообщения: 56
Благодарности: 2


Конфигурация

Профиль | Отправить PM | Цитировать


Доброго всем времени суток!!!
Проблема я бы сказал глобальна не с легка (боюсь и на этом форуме 15 Кб текста в одно сообщение не влезут).
Поэтому - если Вас не не затруднит - ознакомьтесь с ней здесь .

Заранее благодарен

Отправлено: 22:53, 05-01-2013

 

Пользователь


Сообщения: 56
Благодарности: 2

Профиль | Отправить PM | Цитировать


Привет всем Ышо раз!!!

Глобальная трабла (на языке его Высочества Pascal [что подданный её Величества Delphi]) разрешилась "самостийно" (без вмешательства Delphi-программеров), но небольшой вопросец - остался (потому как он ближе к "Виндовцам", чем к "Дэлфийцам - позволю себе процетировать оного):

//====предисловия ради: ОСь ХРюша Х64

Выкопал как-то на бескрайних просторах то-ли Гугла, то-ли Тындекса *.reg_файл приблизительно следующего содержания:
......
;Добавление в контекстное меню "Мой компьютер" пункта "Диспетчер Устройств"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Диспетчер Устройств\command]
@="%SystemRoot%\system32\mmc.exe /s %SystemRoot%\system32\devmgmt.msc"
......
{и тд тп (итого 5 пунктов, но остальные вродь как не интересуют - моя прога отрабатывает их досконально)}

и прочитав славяноязычные REMарки... - ХОЧУ!!! -> дубльклик по нему -> Добавить данные в реестр...-> Данные успешно внесены...-> и ... - т и ш и н а... Ну то что пункты не появились в меню - коню понятно: РегЕдит показал, что не то чтобы значения не прописались, а даже вышеуказанные ключи НЕ создались...
Нууу!!! - думаю: я его Щааа

(а тут, я извиняюсь - его Высочество Pascal - цитата (меня же самого - "плагиат") с исходного форума [но попытаюсь "перевести"]):

Код:1 Reg:= TRegistry.Create;...создаём переменную класса TRegistry, обладающую методами и свойствами(откр/закр, читать/писать, "добыть" данные, тип и тд и тп

Reg.RootKey:= HKEY_CLASSES_ROOT;... тут небольшое отличие от *.reg и *.cmd

If Form1.DevMan.Checked Then... если "птичка" Диспетчер Оборудования юзверем установлена, то
begin
Reg.OpenKey('CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Диспетчер Оборудования\command\', True);
...открываем ключ(CLSID\....) - (, True - если не сущ - создаём, False - просто читаем [создать - не можем])
Reg.WriteExpandString('', '%SystemRoot%\system32\mmc.exe /s %SystemRoot%\system32\devmgmt.msc');
... пишем значение КЛЮЧА (НЕ параметра)
Reg.CloseKey; ... Закрываем ключ - больше не нужен;
end;

и... Как ни парадоксально, но опять тишина... Тады эксперименту ради "заслал" (опять-таки на Pascalе) в тот же ключ значение:= UFO 007+999, а РегЕдит выудил это значение там куда его система отрефлектила: в той же ветке(HKCR) и почти том же ключе, но с небольшой вставочкой "WOW6432Node" в районе CLSID - щас уже точно не помню потому что благодаря нагугленному
Код:2 Reg64:= TRegistry.Create(KEY_ALL_ACCESS OR $0100); //(разница с Код:1 - ощущается?)
И вот тут Reg64 сделал (своё дело) то, что мне было нужно... (для остальных 4-х опций)
,но DevMan
Один Х...н - не работает ... И детальный "разбор полётов" (тот же РегЭдит) показал, что мы писали:
Reg.WriteExpandString('', '%SystemRoot%\system32\mmc.exe /s %SystemRoot%\system32\devmgmt.msc');
, а читаем: ...stemRoot%\ S Y S W O W 6432\mmc.exe!!!... хотя в вышеобматюканной папке одноимённый файл и проживает, но НЕ РАБОТАЕТ - пока не поправишь ручками на \system32\...
Вот тут и вызревает САМ ВОПРОС (вернее 2): что происходит (в этот момент - и почему) и само главно - как эту хрень победить (чтоб работало автоматом - типа из под RunOnceEx [или без Ех - хоть из под Start\Programs\Autorun]???

Заранее - благодарен.

-------
И был сначала ZX-Spectrum, потом Pentium, а на 7-ой день появился AMD, но это - форзва!!!


Отправлено: 04:46, 12-01-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для yurfed

Ветеран


Сообщения: 20133
Благодарности: 3145

Профиль | Отправить PM | Цитировать


Цитата UFO 007:
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Диспетчер Устройств\command] »
а чего вы в ROOT полезли. Это виртуальная ветка. Её нет физически.

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 04:56, 12-01-2013 | #3


Пользователь


Сообщения: 56
Благодарности: 2

Профиль | Отправить PM | Цитировать


СтопАнце - ток ща доглядел - мож не WriteExpandString, а просто WriteString??? - Ща проверю...

yurfed, Сорри - цитировать (по ходу движок форума не умеет) окромя как копипастить - не получается, но...
============================================================
а чего вы в ROOT полезли. Это виртуальная ветка. Её нет физически.
==========================================================
- эт не я полез - вот исходник целиком: (с того же дельфийского форума)

Код:
извиняюсь что это не есть код от Его Величества Pascalя - но чтоб Админ про тэги не ругался:
;Добавление в контекстное меню "Мой компьютер" пункта "Диспетчер Устройств"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Диспетчер Устройств\command]
@="%SystemRoot%\system32\mmc.exe /s %SystemRoot%\system32\devmgmt.msc"

;Добавление в контекстное меню "Мой компьютер" пункта "Редактор Реестра"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Редактор Реестра\command]
@="Regedit.exe"

;Добавление в контекстное меню "Мой компьютер" пункта "Диспетчер задач"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Диспетчер Задач\command]
@="taskmgr"

;Добавление в контекстное меню "Мой компьютер" пункта "Установка и удаление программ"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Установка и Удаление программ\command]
@="control appwiz.cpl"

Код:/end
при чём должен я Вам заметить для 3-х последних пунктов Мену - виртуальная ветка очень даже рельно прописывается (тут надо заметить - не из *.reg(что Вы видите выше), а из моего *.exe (повторюсь - собака ПОрыЛАСЬ в х64 - под х32 мож и *.рег работает: не на ком проверить)

-------
И был сначала ZX-Spectrum, потом Pentium, а на 7-ой день появился AMD, но это - форзва!!!


Последний раз редактировалось UFO 007, 17-04-2014 в 02:02.


Отправлено: 05:02, 12-01-2013 | #4



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


Цитата UFO 007:
что происходит (в этот момент - и почему)
  1. Если импортируете REG-файл, находясь в 32-битной оболочке, например Total Commander,
  2. или вносите изменения в реестр из своей 32-битной программы:
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:30, 12-01-2013 | #5


Пользователь


Сообщения: 56
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
из своей 32-битной программы »
Огромное спасибо - действительно: если в диспетчере задач после delphi7.exe идёт постфикс *32, то и свои продукты она "генерит" с ним же. Делфийцы подсоветовали нужную версию - теперь всё пучком и я бы выложил результат, но меня добивает форумовская политика вложений - больше 1МБ выложить не могу (а .rar весит 2,9 МБ) и вопрос знатокам - если я удаляю вложение, то ссылка на него из любой темы/поста становится нерабочей?

-------
И был сначала ZX-Spectrum, потом Pentium, а на 7-ой день появился AMD, но это - форзва!!!


Отправлено: 13:08, 12-01-2014 | #6


Пользователь


Сообщения: 56
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
например Total Commander »
--- ЗвЫняйте, уважаемый, но ВИНДОВСКОММАНДЕР (начиная с вер. 5.00) - пусть он будет даже ХРЮкомандёр - для меня бессмертен:= wincmd - форева

Цитата UFO 007:
действительно: если в диспетчере задач после delphi7.exe идёт постфикс *32, »
... сорри, сорри, сорри... - D7, D8, ,,, DXE - оказалось они все НЕ умеют компилить х64 - это подвластно только начиная с Delphi XE2


Огромное всем СПАСИБО!!!!

-------
И был сначала ZX-Spectrum, потом Pentium, а на 7-ой день появился AMD, но это - форзва!!!


Последний раз редактировалось UFO 007, 16-04-2014 в 22:50.


Отправлено: 22:23, 16-04-2014 | #7


Пользователь


Сообщения: 56
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата yurfed:
Её нет физически »
... "и всё-таки она" пишется (хоть и виртульная, а засланые значения "помнит" даже после перезагрузки)

-------
И был сначала ZX-Spectrum, потом Pentium, а на 7-ой день появился AMD, но это - форзва!!!


Отправлено: 02:08, 17-04-2014 | #8



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Реестр(х32) и WOW6432Node

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Что такое WOW6432Node? PulSar.CE194694 Microsoft Windows Vista 3 23-04-2019 23:11
Доступ - [решено] Почему параметры реестра импортируются в раздел WOW6432Node loveaboveall Microsoft Windows 7 17 17-01-2011 12:13
Прочее - Реестр hhh8486 Хочу все знать 6 21-12-2008 15:43
Реестр rdvlider Хочу все знать 1 02-01-2006 19:47
Доступ - Реестр Natalya Microsoft Windows 2000/XP 15 08-12-2004 01:18




 
Переход