我用Python开发了一个软件,包装在Windows的NSIS安装程序中。我的软件中有数据文件,我希望能够通过在GUI中单击“编辑”按钮来进行编辑。我的问题是这些数据文件具有新的文件扩展名,因此当我尝试使用os.startfile()
打开它时,Windows告诉我它不知道该使用哪个应用程序打开它们。
我不想调用特定的文本编辑器,我想使用为系统上的文本文件配置的默认编辑器(即,对我来说崇高,对我的邻居来说是记事本...)。
我尝试在Windows注册表中为我的NSIS扩展名添加一个密钥,说这是“ PerceivedAs”文本文件,但它没有任何改变。
是否可以在Windows注册表中添加一些内容,以告诉它使用默认的txt编辑器打开特定的扩展名?
在Python中是否可以使用默认的txt编辑器打开扩展名未知的文件?
Windows没有默认的文本编辑器。 Internet Explorer确实具有默认编辑器的概念,但是除非我们采用html / xml,否则它可能不是最佳选择。
但是,在正在运行的应用程序中可以做的是手动call ShellExecuteEx with a forced class。为此,您应该找出.txt扩展名的ProgId,然后使用该HKEY或ProgId作为强制类。
在Windows XP和更高版本上,您应该能够通过在注册表的扩展名中添加PerceivedType来配置文件类型:
WriteRegStr HKLM "Software\Classes\.sbt" "PerceivedType" "text"