这需要 Windows 注册表的一些解决方法。这个问题的答案可能会有所帮助:Associate file extension to python script, so that I can open the file by double click, in windows。
在你的情况下,因为它是一个 EXE,你可能需要稍微改变一下命令。
首先,以管理员身份运行 cmd(命令提示符)。
您可以通过搜索 cmd 并右键单击它以单击“以管理员身份运行”选项来执行此操作。
路径可以只是“C:\WINDOWS\system32>”。
我尝试更改“%*”,将其删除,最后,我得到了一个有效的命令!
我尝试了以下命令,它适用于 EXE:
ftype txtfile=C:\Users\<Your name goes here>\main.exe %1
或者您的 EXE 所在的任何位置(复制并粘贴带有文件名的路径)。
EXE 的语法是ftype txtfile=<path>\<filename>.exe %1。
现在,您应该更改了打开 .txt 文件的默认应用!
可以使用assoc .foo = foofile 更改名称“txtfile”
您可以在 Honest Abe 的回答中找到更多相关信息。
我猜你也可以对其他注册的文件类型做同样的事情。
由于您希望分发设置,我认为更改 python 文件中的某些内容可能会有所帮助,因为它需要管理员权限...
可能是这样的:
import win32com.shell.shell as shell
commands = 'ftype txtfile=C:\Users\<Your name goes here>\main.exe %1'
shell.ShellExecuteEx(lpVerb='runas', lpFile='cmd.exe', lpParameters='/c '+commands)
此问题提供了有关如何以管理员身份运行命令提示符的更多信息:How to run cmd command in Python with admin。