Windows文件关联

注册表

  • Windows的文件关联是通过注册表实现的。
  • HKEY_CLASSES_ROOT节点包含了文件扩展名关联信息。
  • 不建议直接修改HKEY_CLASSES_ROOT,而是修改HEKY_CURRENT_USER\Software\Classes或HKEY_LOCAL_MACHINE\Software\Classes。
  • HKEY_CLASSES_ROOT是两者的合并。
  • 如果出现同名键,HEKY_CURRENT_USER\Software\Classes的优先级高于HKEY_LOCAL_MACHINE\Software\Classes。

以.md文件为例。在HKEY_CLASSES_ROOT下看到

- .md
	* OpenWithProgids # Typora.md 和 VSCode.md

然后看到Typora.md:

- Typora.md
	* DefaultIcon # C:\Users\80647\AppData\Local\Programs\Typora\resources\assets\file.ico
	- shell
		- open
			* command # "C:\Users\80647\AppData\Local\Programs\Typora\Typora.exe" "%1"

目标

因此,要实现指定后缀的文件通过自己开发的软件打开,就需要做两件事情:

  1. 注册应用程序ProgId,即Examer.exam
    1. DefaultIcon:设置文件图标
    2. shell\open\command:设置通过文件打开时的命令,%1 就是目标文件的路径,这里会影响程序中的读取
  2. 注册文件扩展名关联信息,即.exam
    1. OpenWithProgids:关联的应用程序,即Examer.exam
posted @ 2024-05-06 23:23  hdxg  阅读(168)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css