如何设置Windows以使用默认文本编辑器打开新文件扩展名?

问题描述 投票:0回答:1

我用Python开发了一个软件,包装在Windows的NSIS安装程序中。我的软件中有数据文件,我希望能够通过在GUI中单击“编辑”按钮来进行编辑。我的问题是这些数据文件具有新的文件扩展名,因此当我尝试使用os.startfile()打开它时,Windows告诉我它不知道该使用哪个应用程序打开它们。

我不想调用特定的文本编辑器,我想使用为系统上的文本文件配置的默认编辑器(即,对我来说崇高,对我的邻居来说是记事本...)。

我尝试在Windows注册表中为我的NSIS扩展名添加一个密钥,说这是“ PerceivedAs”文本文件,但它没有任何改变。

是否可以在Windows注册表中添加一些内容,以告诉它使用默认的txt编辑器打开特定的扩展名?

在Python中是否可以使用默认的txt编辑器打开扩展名未知的文件?

python windows registry nsis
1个回答
0
投票

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"
© www.soinside.com 2019 - 2024. All rights reserved.