用户选择

用户选择

我将 Chrome 与.xlsxWindows 8.1 机器上的文件关联起来。

无法Control Panel\Programs\Default Programs\Set Associations删除关联而只能将其更改为另一个程序。

在 中Control Panel\Programs\Default Programs\Set Default Programs\Set Program Associations.xlsxChrome 中不存在。

我从 中移除了所有钥匙HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xlsx

Chrome 仍然与 中的该扩展程序保持关联Control Panel\Programs\Default Programs\Set Associations,并且 Windows 资源管理器会显示带有该文件的 Chrome 图标.xlsx

答案1

创建一个具有随机文件扩展名的空白文件。假设为<filename>.blaw

 1. Open Notepad
 2. Menu *File* → *Save As*
 3. Give a name with your extension.
 4. And save it on your desktop (you can also save it at any other
    location).

现在右键单击您的文件(*.xlsx在本例中),然后选择打开用选择默认程序→ 向下滚动并选择在此电脑上浏览应用程序

现在浏览filename.blaw并选择它。

当您的*.xlsx文件与 关联时<filename>.blaw,您需要做的就是删除<filename>.blaw文件。现在它将强制任何*.xlsx文件再次进行文件关联,并且您可以选择要从中打开文件的应用程序,或保持原样。

而且这个解决方案确实有效!

相同的过程也适用于 Windows 10。

答案2

我认为您错过了 HKCR 中的其他 SystemFileAssociations xlsx 列表。

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOTS\SystemFileAssociations\.xlsx]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xlsx]

为了确保一切正常,接下来转到此处并检查 xlsx 上的默认设置,通常它会指向 HKCR 中的另一个键,或者有时有一个引用持久处理程序的长 GUID。

HKEY_CLASSES_ROOT\.xlsx

无论哪种方式,我们都需要跳转到HKCR\xslx_auto_file或搜索持久处理程序的 GUID,并确保一切看起来都没有 chrome。

答案3

另一个选项(在 Windows 10 下测试)是以管理员身份打开 CMD,然后运行:

assoc .ext=

(因此您在 = 后面不指定任何内容)。

对我来说,这阻止了下载的 .csv 文件在 Excel *中打开。下载提示仍然包含使用 Excel 打开作为默认建议,但它让我选择保存到磁盘反而。

* 这并不能正确地将数据格式化为列(可能是因为默认设置不匹配),这使得将 CSV 与 Excel 关联变得毫无用处。

答案4

我把它添加到那里,因为上面的答案中没有提及它。

用户选择

从 Windows Vista/7 开始,其他Windows 使用的并发方式,在新的关联对话框中添加用户设置的关联 - 并存储这些关联分别地从已经存在的系统和程序关联来看。
因此,标准和配置关联继续存在于幕后,同时用户在资源管理器中可以看到其所进入的关联。

我们如何陷入这种境地

当用户进入Control Panel / Default programs / Set file associations(免责声明:我的操作系统不是英文的,应该差不多)时,该机制就会激活,它会选择一个扩展名或文件类型,然后选择一个始终用于打开它的应用程序,最后保存他的选择。
遗憾的是,上面提到的 Windows 对话框只允许用户改变或者一个协会,但不是消除其先前所犯的错误……这使用户面临极大的危险,使自己陷入‘死胡同’的彻底绝境。

去向何方

无论如何,所有内容都会保存到注册表中:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\[.extension]\UserChoice

新添加的键下有三个值,其中一个指向关联的可执行文件。UserChoice在注册表中搜索,看看你以前是否做过类似的选择。
查看父键下,我们清楚地看到,注册表下和注册表其他地方[.extension]的任何其他现有关联数据值和注册表项都不受此机制的影响。 了解这些 UserChoice 键仅作为现有关联机制的附录添加,不会干扰它,这一点非常重要,因此,直接删除该键会重新激活预先存在的情况,无论如何。UserChoice\Fileexts

修复

在注册表中找到上述键并彻底删除它(没有任何后果,因为没有任何附录或 clsid 或 progid 链接到键的值,只有可执行文件名称),然后完全重新启动 Windows 资源管理器(右键单击 + 在任务管理器中重新启动),所有工作将恢复正常。

哦我的错

例如,有一天,我.cmd为了测试目的错误地更改了扩展名,将其分配给记事本,只是为了确保不会执行给定的 cmd 脚本。这是
我的错,因为由于上述 MS 逻辑,我无法回退我的错误。

通过查找注册表,我找到了UserChoice链接到Notepad.exe的密钥.cmd,并将其全部删除。
然后重新启动Explorer进程,并返回文件夹,所有内容都回到了正确的位置,.cmd扩展程序又按预期运行了。

注:以上提到文件类型管理器NirSoft 的实用程序确实会将此保留在帐户中(请参阅下面的版本历史记录)并从 1.40 版开始(当前为 1.90 版)直接允许访问所涉及的 UserChoice 注册表项。

相关内容