Назад | Перейти на главную страницу

Изменить 64-битный реестр с 32-битного Python

Мне трудно это понять. Если я прав, 32-битный Python не может запускать код и изменять значения реестра в 64-битном режиме. Я правильно понял? Или есть переключатель, который нужно включить, чтобы включить эту функцию?

Вот это: http://msdn.microsoft.com/en-us/library/aa384129%28v=VS.85%29.aspx

Но как мне использовать его со следующим кодом? http://www.blog.pythonlibrary.org/2010/03/20/pythons-_winreg-editing-the-windows-registry/

Спасибо, Оз

edit: Извините, я неправильно понял вопрос. Сделай дело с флагом. :п

Если вы используете 64-битную операционную систему, у вас будет «папка» в ключах HKLM \ Software и HKCU \ Software с именем Wow6432Node. Это похоже на точку соединения, которая позволяет Windows поддерживать обратную совместимость между архитектурами и в основном прозрачно перенаправляет 32-битную программу, которая обращается к реестру.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724072(v=vs.85).aspx

Таким образом, даже если вы выполняете 32-битный код, если вы используете 64-битную версию Windows, изменение HKLM \ Software \ Mysoftware - это 64-битный реестр. Если вам нужно изменить 32-битный реестр, это будет HKLM \ Software \ Wow6432Node \ MySoftware.

Здесь я собираюсь установить 32-битные соединения ODBC даже в 64-битной ОС. Он также работает на 32-битной ОС. Установка флага не требуется. Этот код работает.