@追风的少年 2020-07-15 12:37 采纳率: 0%
浏览 366
已结题

Python 通过注册表获取路径 打开路径文件失败

Python 通过注册表获取路径 打开路径文件失败

import win32con, win32api,os    # 导入需要模块

reg_root = win32con.HKEY_CURRENT_USER
reg_path = r"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store"  # 目录
reg_flags = win32con.WRITE_OWNER | win32con.KEY_WOW64_64KEY | win32con.KEY_ALL_ACCESS
key = win32api.RegOpenKeyEx(reg_root, reg_path, 0, reg_flags)

url = ''
# 遍历其他键值
try:
    i = 0
    j = ''
    while True:
        str = win32api.RegEnumValue(key, i)
        j = str[0]
                # 通过if判断子字符串
        if j.find('mxmain.exe') > 0:
            url = j  # 符合条件的路径放入url路径
            break
        i = i + 1

except Exception as e:
    # raise(e)
    pass

print(url)

成功取得路径后,print打印输出正确

E:\路径\mxmain.exe

接下来如何运行目录文件

os.system(url)
open(url)


[os.system] 提示:
WinMain lpCmdLine= nCmdShow=10
stat(mxmain.dll) Fail! code = 2
返回值为:0



[opebn] 没有提示但没运行

这是什么情况看,我要用什么方法才能正确运行文件

图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-07-15 12:45
    关注

    这里调试下
    str = win32api.RegEnumValue(key, i)

    可能的原因无非2个,一个是注册表的键、值搞错了
    要么另一个原因就是没有权限

    评论

报告相同问题?