gpt4 book ai didi

python - 如何让 Python 的 winreg 看到注册表中在 Adob​​e CC 程序的注册表编辑器中可见的条目?

转载 作者:行者123 更新时间:2023-12-04 10:12:50 28 4
gpt4 key购买 nike

我正在尝试使用 winreg用于访问 Adob​​e 产品(Photoshop、After Effects 等)的注册表项的 Python 库,虽然我可以看到 HKEY_LOCAL_MACHINE注册表编辑器中的子键,Python 似乎看不到相同的键。是否有需要更改的权限,或者我是否以错误的方式处理此问题?

Here is a Screen cap summarizing the results so far

我正在运行的代码是:

import winreg
i=0
while True:
try:
# self.aeKey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Adobe\\After Effects\\16.0")
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Adobe\Setup\Reader")

printTest = winreg.EnumKey(key, i)
print(printTest)
i+=1
except WindowsError:
break

这导致我返回
Acrobat Distiller
Acrobat PDFMaker
Adobe AIR
Adobe ARM
CommonFiles
ExtendScript Toolkit
ExtensionManager
PDF Admin Settings
Registration
Repair
Setup

但不是
Adobe Bridge , Adobe Acrobat , After Effects , Photoshop , 等等。

编辑:我目前正在运行 32 位 Python。

最佳答案

评论中的@martineau 一针见血!我需要更改访问 key 以允许找到 64 位注册表。

import winreg
i=0
while True:
try:
# self.aeKey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Adobe\\After Effects\\16.0")
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Adobe",0, winreg.KEY_READ | winreg.KEY_WOW64_64KEY)
assert key != None, "Key = None"
printTest = winreg.EnumKey(key, i)
print(printTest)
i+=1
except WindowsError:
break

现在生产
Acrobat Distiller
Acrobat PDFMaker
Adobe Acrobat
Adobe Bridge
After Effects
Animate
Character Animator
CommonFiles
Dreamweaver 2020
Dreamweaver CC 2019
Identity
Licensing
Photoshop
Prelude
Premiere Pro

感谢所有的帮助!

关于python - 如何让 Python 的 winreg 看到注册表中在 Adob​​e CC 程序的注册表编辑器中可见的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61235839/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com