下面用vbs文件举例。
vbs后缀的文件关联注册表项,一般大家知道的有:

HKEY_CLASSES_ROOT\.vbs

以及.vbs右侧默认值VBSFile,对应的注册表项

HKEY_CLASSES_ROOT\VBSFile

一般修复这两处就能恢复vbs的文件关联。但有时候这样做了,vbs的打开方式还是有问题。猜测,还有别的文件关联注册表项,并且优先级更高。

为此,下面用process monitor探究下文件关联的注册表项还有哪些。

下载process monitor汉化版,打开,过滤,过滤。弹出窗口,顶部有四个框要填写或选择。第一个选路径,第二个选包含,第三个填vbs,第四个包括,添加,确定。

然后桌面新建个文本文档,改后缀txt为vbs,双击打开。回到process monitor,查看所有注册表相关项。可以看到以下几个项,按优先级递减从上到下排列:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.vbs\UserChoice
HKEY_CURRENT_USER\Software\Classes\.vbs
HKEY_CLASSES_ROOT\.vbs

第一条就是右击文件,打开方式时,选择默认打开方式的结果。
第二条是当前用户的打开方式,优先级比全局(所有用户)的高。
第三条是全局(所有用户)的打开方式,优先级较低。
一般修改上面三个位置就能恢复文件关联。如果不知道怎么改,HKEY_CURRENT_USER的两条可以删除,保留HKEY_CLASSES_ROOT的即可。
其他的还有:

HKEY_CLASSES_ROOT\SystemFileAssociations
HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations

不过我的Win7 x64试改了下,对双击打开没有效果。感兴趣的可以自己试。
至于:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes

很多人都认为这和HKEY_CLASSES_ROOT是同一个位置,只不过后者比较直观而已(windows 2000之前是这样)。
windows 2000及以后的系统,HKEY_CLASSES_ROOT(HKCR)等同于以下两项合并显示:

HKEY_CURRENT_USER\Software\Classes
HKEY_LOCAL_MACHINE\SOFTWARE\Classes

两个注册表有同名项时,优先显示上面用户注册表的那个,删除也是,但创建时优先HKLM这里的。

补充win8或win10系统:
如果文件关联是APPX等UWP应用时,系统除了去上面位置搜索,还会在以下项搜索对应应用:

HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Extensions\ProgIDs

再到下面注册表项找应用目录路径等信息:

HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages

文件关联注册表项都有哪些?相关推荐

  1. 命令编写注册表文件修改注册表项

    命令编写注册表文件修改注册表项 1.何谓REG文件 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中.利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的 ...

  2. 编写注册表文件修改注册表项

    编写注册表文件修改注册表项 1.何谓REG文件 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中.利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的操作 ...

  3. windows下批处理删除文件及注册表项

    1.windows下批处理删除注册表项 假如我要清除WinRAR的历史记录,可以新建个批处理文件, 然后在里面加入如下文字: reg delete HKEY_CURRENT_USER/Software ...

  4. Win7中的文件关联注册表

    (一)在CMD中类似这样的命令 assoc .txt=txtfile ftype txtfile=...notepad.exe %1 // 如果是bat文件则为 ftype batfile=" ...

  5. 通过修改explorer.exe内存隐藏文件及注册表项

    记录今天分析的一个隐藏自身及注册表项的病毒. 1.概述: (1)此病毒文件为路径为:C:\Windows7\4D525EC1C14.exe,且注册了自启动项: HKEY_CURRENT_USER\So ...

  6. 注册表的作用、bat文件中REG ADD命令添加注册表项以及bat

    注册表的用途与设置 注册表是windows的核心,里面储存着大量的系统信息,说白了就是一个庞大的数据库.如果你不懂什么是数据库,那没关系,不影响你了解注册表,不过最好对数据库有所了解.注册表里面所有的 ...

  7. PowerShell基础教程(10)——处理文件、文件夹和注册表项

    PowerShell基础教程(10)--处理文件.文件夹和注册表项 <o:p></o:p> Windows PowerShell 使用名词项来表示在 Windows Power ...

  8. 记录Windows 的一些基础知识(包括基础命令,文件系统,注册表项)

    Windows基础命令 ## windows输入命令```powershell win+R 打开cmd 右键管理员运行 目录和文件操作 目录分为相对路径和绝对路径 相对路径(以当前为起点) " ...

  9. linux串口通讯64k出错,打开串口列表的注册表项出错?

    代码 错误信息解释 0 操作成功完成. 1 函数不正确. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒绝访问. 6 句柄无效. 7 存储控制块被损坏. 8 存 ...

最新文章

  1. jdk动态代理实例和cglib动态代理实例_CGLib 动态代理 原理解析
  2. 【Binder 机制】AIDL 分析 ( AIDL 通信完整流程梳理 )
  3. 操作系统内存管理——分区、页式、段式管理
  4. Android Gradle Plugin 源码解析之 externalNativeBuild
  5. SQL中EXISTS的使用
  6. C#算数运算符、关系运算符、逻辑运算符、语句
  7. postgresql点云las_点云模型_点云模型_模型_时空数据库_PolarDB PostgreSQL 云原生数据库 - 阿里云...
  8. hive 十六进制转十进制_hive 常用运算
  9. 【JSP】JSP的运行原理
  10. MATLAB函数句柄
  11. Netty的使用:Server和Client通信
  12. 计算机启动需输入两次密码,我的电脑开机的时候要输入2次密码,我应当怎么去除?...
  13. 大专学历造假改成了 211 拿到了抖音 Offer
  14. mapxtreme 查找指定位置的图元
  15. 诗词才女武亦姝将入读清华理科试验班类,学霸是如何炼成的?
  16. echarts 实现自定义tooltip提示框浮层内容显示
  17. ApacheCN 数据科学译文集 20211109 更新
  18. 211计算机考研到985难度,普通人想考研到985/211院校到底有多难?听听他们的心声!...
  19. LeetCode刷题攻略
  20. linux终端重命名文件夹命令,如何使用命令行轻松重命名文件?

热门文章

  1. 网络爬虫-京东优惠活动数据分析
  2. 【博学谷学习记录】超强总结,用心分享 | 【Java】自定义异常
  3. PTA L1-049 天梯赛座位分配(20分)(python)
  4. [PED01]Deep Subspace Clustering Networks
  5. uniapp打包安卓APP实现自动更新(更新app)
  6. word图文设计:如何用图片水印功能制作日历画册
  7. 教师资格证考69分是怎么算的?
  8. 各种门平面图画法_关于CAD各种门怎么画平面图就行 CAD铝合金门窗
  9. 高等教育学备考:教育学概述
  10. 腾讯云实时音视频( TRTC)通话质量监控仪表盘