运行 包含 Qwebengine pepflashplayer 的固定内部命令参数的脚本

Running script with fixed internal commands arguments to include Qwebengine pepflashplayer

我制作了一个 PyQt5 QWebengine 应用程序,我想让它变得便携。 我发现闪光灯在应用程序中不起作用。 经过大量阅读,我发现 在文件夹

中有 pepflashplayer64_*.dll & manifest.json

C:\Windows\System32\Macromed\Flash\ 正在工作。

但是我想将 pepflashplayer 与应用程序一起发布,并且 将自定义 flash 文件夹添加到 PATH env var,没有效果,或者 sys.path.insert()

命令

myapp.py --ppapi-flash-path=C:\Flash\pepflashplayer64_27_0_0_187.dll

有效,但是如何在启动脚本时在内部传递额外的增强?

我尝试使用额外命令对 运行 sys.arg[0] 脚本进行肮脏的破解,但没有成功。

if __name__ == "__main__":
    # print sys.argv
    flash = (' --ppapi-flash-path=C:\Flash\pepflashplayer64_27_0_0_187.dll').split()
    # print flash
    noooo =  (sys.argv[0] + flash[0]).split()  
    import sys
    app = QtWidgets.QApplication(noooo)
    # ... the rest of your handling: `sys.exit(app.exec_())`, etc.

好的,我让它工作了,所以我可以使应用程序成为可移植的浏览器应用程序,而且解决方案比我想象的要简单。 像这样解析第二个内部参数。

if __name__ == "__main__":
    programname = os.path.dirname(sys.argv[0]) #get current script full folder path
    pepperpflash = ' --ppapi-flash-path=' + programname + '/Flash/pepflashplayer64_27_0_0_187.dll' 
    try:
        app = QtWidgets.QApplication(sys.argv + [pepperpflash])
    except:
        app = QtWidgets.QApplication(sys.argv)
    # ... the rest of your handling: `sys.exit(app.exec_())`, etc.