Windows 10不允许我为文件扩展名设置默认应用


27

免责声明:我知道如何设置默认应用程序和文件扩展名,我之前已经做过很多次了。


我刚刚在新计算机上安装了Windows 10 Home。我正在尝试将我的Web开发文件与Netbeans专门关联,但这可能无关紧要。

1.文件扩展名不可用

首先,文件扩展名列表中没有我使用的许多常用文件扩展名-例如,.php扩展名。我不知道Windows列表中是否正常可用。我当然不必.php在具有相同操作系统的以前的计算机上手动添加扩展名。

我通过手动添加文件扩展名解决了这一问题。就像我说的那样,我以前从来没有这样做。


2.“打开方式”不会保存我对应用程序的选择

如果我右键单击文件并“打开方式”并启用“始终使用此应用程序打开文件”,它将在我选择的程序中打开文件,但是资源管理器中的文件图标不会更改,并且不会设置它作为默认程序。

每次打开带有该扩展名的文件时,我仍然必须选择“打开方式”


3.我无法按应用选择默认值

设置>默认应用>按应用设置默认

我的程序(Netbeans)不在可用应用程序列表中。


4.我无法按文件类型选择默认值

设置>默认应用>按文件类型选择默认应用

如果我选择文件扩展名,然后选择 [[+] 选择默认值 ] ,则当我选择一个应用程序时,它将挂起一秒钟,好像它正在运行一样,那么什么也不会发生。不会设置默认值,“ [+] 选择默认值”按钮仍然存在。

注意:这适用于已设置默认应用程序的任何文件类型。


其他资讯

  • 我可以更改常见文件的扩展名,例如PNG,TXT。
  • 我无法更改HTML,CSS,JS,PHP,SQL等文件的扩展名。

根据您的症状,您的操作系统安装中存在一些错误,因此您应该继续尝试修复该错误。尝试的另一种方法是修改注册表。superuser.com/questions/266268/...
music2myear

@ music2myear我刚刚对Windows 10进行了“重新启动”重新安装,而在安装Netbeans之后仍然遇到此问题。我无法为CSS,JS,PHP等设置默认程序
。– BadHorsie

TXT或.HTML或其他文件呢?
music2myear18年

@ music2myear TXT是,HTML否。我还检查了我的注册表,这很好。
BadHorsie

Answers:


10

Windows 10修补程序KB4467682

解决了阻止某些用户使用“打开方式...”命令或“设置”>“应用程序”>“默认应用程序”为某些应用程序和文件类型组合设置Win32程序默认值的问题。

我可以确认此最新补丁可以解决此问题。只需更新Windows 10,它应该可以再次工作


1
这必须是我在Stack Exchange网络上找到的最完美的时间QA!该版本已于昨天发布,已经困扰了我一段时间,但我只是深入研究它。
Arvo Bowen

我知道!提出问题时,我没有阅读,但后来我阅读了这个答案,我希望它是几个月/年前发生的更新,所以我早就知道了。不,就在几天前!但是,这个问题首先存在是可怕的。我怀念的Windows 7
威尔Ediger

3
好吧,我来晚了,这个问题也困扰着我-但是与此同时,kb4467682显然已经撤回了。它似乎在Surface Book 2上造成了蓝屏。这些KB包是否存在黑市?
user1564286

13

Windows界面不适用于新扩展名时,可以将新文件关联直接添加到注册表中:

  • 启动regedit并单击 HKEY_CLASSES_ROOT
  • 上单击鼠标右键HKEY_CLASSES_ROOT,选择New,然后Key
  • 根据文件扩展名命名密钥,例如.ext。(如果已经存在,请跳过此步骤。)
  • 将刚创建的密钥的默认值设置为一些未使用的唯一名称,例如MyFileType。(如果已设置,请跳过此步骤。)
  • 重复上述操作,以使用上述名称创建另一个新密钥,例如MyFileType。(如果已经存在,请跳过此步骤。)
  • 将此键的默认值设置为文件类型的名称,例如File Type name
  • 右键单击MyFileType并创建一个名为的新子项DefaultIcon
  • 将新密钥的默认值设置为C:\path-to\executable,0使用用于处理请求的可执行文件。如果您的不包含图标资源,请选择另一个可执行文件。(0是可执行文件中图标的索引。)
  • 创建另一个新密钥并调用它shell
  • 对于您要关联的每个动词/动作,请创建一个具有所需名称的新子键。某些动词预设,并会自动使用本地化的名称,例如openeditprint
  • 为每个动词创建一个子键command,并将其默认值设置为要运行的程序。还要确保包括所有需要的参数,如果内部有空格,请添加引号,例如"C:\My Path\My Program.exe" "%1"%1将被为此操作选择的实际文件名替换。

例如,这是一个 示例 注册表文件,用于在.txt文件和EmEditor之间创建关联:

Windows注册表编辑器版本5.00

[HKEY_CLASSES_ROOT \ .txt]
@ =“ emeditor.txt”

[HKEY_CLASSES_ROOT \ emeditor.txt]
@ =“文本文档”

[HKEY_CLASSES_ROOT \ emeditor.txt \ DefaultIcon]
@ =“%SystemRoot%\\ SysWow64 \\ imageres.dll,-102”

[HKEY_CLASSES_ROOT \ emeditor.txt \ shell]

[HKEY_CLASSES_ROOT \ emeditor.txt \ shell \ open]

[HKEY_CLASSES_ROOT \ emeditor.txt \ shell \ open \ command]
@ =“ \” C:\\ Program Files \\ EmEditor \\ EMEDITOR.EXE \“ \”%1 \“”

[HKEY_CLASSES_ROOT \ emeditor.txt \ shell \ print]

[HKEY_CLASSES_ROOT \ emeditor.txt \ shell \ print \ command]
@ =“ \” C:\\ Program Files \\ EmEditor \\ EMEDITOR.EXE \“ / p \”%1 \“”

这,非常感谢。我安装了同一软件的两个版本(因为不同的类需要不同的版本),并且我无法更改默认情况下打开某些文件扩展名的方式。您的解决方案不到5分钟即可解决。非常感谢。:)
Jack_Hu '19

1

在找到晦涩的论坛帖子后,我终于设法解决了这个问题(自从重新安装Windows之后,我现在已经失去了链接)。据报道,用户花费了许多时间来多次重新安装Windows 10,以找出问题所在。

该问题与使用本地帐户安装Windows 10而不是链接Microsoft帐户并登录有关。我不确定这是错误还是Microsoft的某种限制。

显然,一旦您开始使用本地帐户并开始尝试更改默认的应用程序设置,整个过程就一团糟,您将永远无法修复它。解决方法是完全重新安装Windows 10并链接一个Microsoft帐户(最初我不想做的事情)。

注意:通过Windows“设置”菜单中的“重新启动”选项重新安装将无法解决问题,您必须进行完全擦除并重新安装,然后在安装过程中或尝试更改任何设置之后立即链接Microsoft帐户。


1
我一直以来都使用本地帐户,从未遇到过此类问题。我概述的过程适用于我和其他许多人。即使已经解决了很多问题,但是重新安装新的解决方案太重了,您还是可以解决问题的。我认为与上次安装有效的区别在于您在安装过程中执行的某些操作或安装的某些产品。
哈里麦克

@harrymc我明白您的意思,并且我采取了系统的方法来调试问题。我以完全相同的方式进行了每个安装,并选择了相同的选项。实际上,我尝试使用本地帐户重新安装两次,每次都遇到相同的问题。我还仅安装了一个程序来尝试更改文件类型,然后再安装其他程序。我觉得每次要更改文件关联时都编辑注册表是一个较差的解决方案,并不能真正解决问题。
BadHorsie

新的文件关联界面应该使编辑更加容易。但是,随着Microsoft多次发生,它使某些事情变得更加困难。无论何时,我们用户都必须找到解决方法。
harrymc

1
我可以确认这一点。我也遇到了,我通过重新安装解决了这个问题,现在又有了一个非本地帐户。我还要说的是,在Windows 10版本1809之前我没有这个问题,因为我的注册表已经显示了与该特定程序的
关联-nixda

我也使用Microsoft帐户,并且也有这个问题...
Mike

-1

我的解决方案灵感来自@harrymc的方法,但也许更直接。

  1. “开始”按钮->输入regedit.exe(Windows 10似乎不接受纯regedit
  2. 在HKEY_CLASSES_ROOT下,查找文件扩展名。对于该注册表项,请在OpenWithProgids \下查看,其中将存在一个指示此扩展名的文件类型的无值密钥。
  3. 仍在HKEY_CLASSES_ROOT下,向下滚动到该文件类型,该文件类型也作为注册表项存在。在shell \ open \ command \下,键“(默认)”显示哪个可执行文件将打开文件。修改该值以使用首选的可执行文件(包括任何所需的选项),但保留“%1”不变,以表示有问题的文件参数。
  4. 在HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes下重复此间接搜索和替换。我不知道哪种设置占上风,也许需要进行一些实验。
  5. 重新启动Windows。
  6. 免费提供了一个附加好处:在文件资源管理器下,所有带有此扩展名的文件现在将显示新设置的用于打开这些文件的首选可执行文件的图标。

请不要只重复另一个答案...此外,注册表的HKEY_CLASSES_ROOT目录也不需要数字5。此外,HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes只是在Windows启动时从CLASSES_ROOT目录(即其名称)复制的。
Jack_Hu '19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.