我正在尝试使用python的winreg库来访问Adobe产品的注册表项(Photoshop、After Effects等),虽然我可以在注册表编辑器中看到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。
发布于 2020-04-16 04:44:00
评论中的@martineau一针见血!我需要更改访问密钥,以便能够找到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谢谢你的帮助!
https://stackoverflow.com/questions/61235839
复制相似问题