Доступ к 32-битному приложению в 64-битный реестр - PullRequest
0 голосов
/ 11 ноября 2009

У меня есть OS Shell, написанный на 32-битной, который заменяет Explorer.exe на компьютере с Vista. Я запускаю утилиту, которая также написана на 32 битах, которая позволяет переключаться между оболочкой Explorer и My. На некоторых машинах, работающих на 64-битной основе, я не могу изменить ключ HKLM \ Microsoft \ current \ shell (кратко сформированный ключ reg). В конечном итоге меня перехватывает перенаправление подразделов WOW64 ... и фактически изменения в ключе оболочки не происходят. Microsoft BS о перенаправлении в реальном времени не совсем верно. Это один ключ, который не перенаправляется, пока вы не перезапустите всю машину.

Так что я ищу решение либо ОБНОВИТЬ, что перенаправил ключ и загрузить его.

Замена Shell - это программное обеспечение Point of Sales. Моя утилита с графическим интерфейсом запускает только 32-битные командные запросы или командные файлы работают как 32-битные ..

Могу ли я выполнить или вызвать другой пакетный файл, например, 64-битный из 32-битного?

Ответы [ 2 ]

3 голосов
/ 11 ноября 2009

Проверьте MSDN для получения подробной информации о том, как получить доступ к нужному улью

KEY_WOW64_64KEY и KEY_WOW64_32KEY флаги включают явные доступ к 64-битному представлению реестра и 32-битное представление соответственно.

2 голосов
/ 11 ноября 2009

Посмотрите эту статью на MSDN для Доступ к альтернативному представлению реестра . Это должно обеспечить способ модификации 64-битного ключа из 32-битного процесса, но вам нужно будет написать код в C или C # (или сделать это через WMI).

...