您如何将.exe文件扩展名与Windows中的程序相关联?


16

几年前,我看到有人通过将.exe文件扩展名与Internet Explorer 关联对他人进行恶作剧。每当用户想要启动程序时,Internet Explorer就会打开。

不幸的是,我忘记了这是怎么做的。我尝试使用“ Default Programs > Set Associations控制面板”工具,但未列出.exe

如何设置该文件关联,或者更重要的是,如何取消该关联?


它是在一批谷歌病毒Google搜索中
RobotHumans 2011年

Answers:


20

当进行这样的“恶作剧”时,仅遵循循序渐进的教程或批处理脚本是不够的。最好了解一些有关如何存储实际数据的知识,以后再恢复将变得更加容易。

所有文件关联都保存在Registry中,可以使用regeditreg进行编辑。Shell在下查找它们HKEY_CLASSES_ROOT,这是HKEY_LOCAL_MACHINE\Software\Classes(系统范围)和HKEY_CURRENT_USER\Software\Classes(用户本地)的合并视图。

  • [ HKEY_CLASS_ROOT]
    • [ .txt]
      • (默认) =“ txtfile” –指向HKCR下另一个键的指针
    • [ txtfile]
      • (默认) =“ Text Document” –在资源管理器中显示的文字描述
      • [ shell] –用于双击和上下文菜单的操作
        • (默认) = (未设置) –双击时要使用的操作;默认为“ open
        • [ open]
          • (默认) = (未设置) –在上下文菜单中显示的标签;默认为“ Open
          • [ command]
            • (默认) =“ %SystemRoot%\system32\NOTEPAD.EXE %1

对于大多数扩展名,该值指向同一HKCR下的文件类型密钥;例如,指向。HKCR\.extn\(Default).exeHKCR\exefile

(在少数情况下,虽然,所有的信息是扩展的关键直属,与含有描述这些似乎是,非常罕见的,虽然-也许是Windows 9x中或3.X的剩余...)HKCR\.extn\(Default)

进行备份。reg save HKLM\Software\Classes hklm-classes.hiv另外,请记住,命令提示符并不在乎扩展。如果您尝试运行可执行程序,则无论该程序如何命名,其扩展名与之相关,它都将始终运行。


1
显然,在进行此类更改之前,请先导出注册表!:)
HaydnWVN 2011年

@HaydnWVN:reg save负责这一点(还包括reg export将跳过的元数据)。
user1686 2011年

抱歉,在发布“ 制作备份”编辑之前回答!;)
HaydnWVN 2011年

1
不要忘记在这里查看原始注册表有些困难。Microsoft捆绑的命令解释器具有FTYPEASSOC命令,并且还可以通过Windows资源管理器中的对话框直接访问文件类型列表。
JdeBP 2011年

@JdeBP:AFAIK,Windows Vista摆脱了资源管理器中的编辑器-现在,它仅选择默认操作。(不过,我没有更深入地研究;仍然在这里使用XP。)此外,图形还regedit提供了很好的概述。
user1686

2

尝试这个:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\.exe\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
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.