博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件关联与关联文件
阅读量:4557 次
发布时间:2019-06-08

本文共 2057 字,大约阅读时间需要 6 分钟。

注册表中储存文件关联信息的一些位置:

(1) HKEY_CLASSES_ROOT\

(2) HKEY_CURRENT_USER\Software\Classes\

(3) HKEY_LOCAL_MACHINE\Software\Classes\

(4) HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

(5) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

说明:【前三项】:(1)处存放的是本机文件关联的备份,会自动同步后面两处的信息。但实际操作时有些信息只有(1)处有,所以建议在枚举本机文件关联时以此处为准,以其它两处作补充。以下所说的“Classes目录”指代(1)(2)(3)中的任意一个,(2)是现行用户的,(3)是本地机器的,不建议选(1)。【后两项】:在尝试打开文件时或选择打开方式后会自动生成。以下所说的“FileExts目录”指代(4)(5)中的一个,按需选择。


Classes目录\.扩展名

【(默认)】值为ProgID,对应目录下的同名子项(下称程序标识符)

【DefaultIcon】在没有(默认)的值时会用它的值来指示这类文件的图标。

Classes目录\.扩展名\ShellNew

【NullFile】有这一项表示新建时新建一个空的文件,与下面二选一。

【FileName】它的值是新建时 需要建立的文件 的地址,这文件一般在C:\WINDOWS\SHELLNEW下(没试过)。

(如果要在新建菜单中显示这种文件,必须要有文件的类型名称)

Classes目录\程序标识符

【(默认)】值是这类文件的类型名称(在文件浏览器中显示的“类型”,比如平时看到的“文本文档”,不写的话会显示“XXX 文件”)

Classes目录\程序标识符\DefaultIcon

【(默认)】值是这类文件的图标。

Classes目录\程序标识符\shell\菜单项

备注:“菜单项”指的是右键菜单项,一般为“open”,也可以自定义字符(中文也行)。它在MUIVerb不存在或值为空时作为右键菜单的标题。这些右键菜单先显示“菜单项”为open的项,然后显示为英文的项,最后显示为中文的项。

【MUIVerb】值不为空的话就会覆盖“菜单标题”,但显示时还是按照“菜单标题”排序。

【icon】值是右键菜单中的图标的地址。(在Win7测试可以,XP不知道为什么不显示)

Classes目录\程序标识符\shell\菜单项\command

【(默认)】值是被调用的命令行。

FileExts目录\.扩展名\OpenWithList

【MRUList】右键菜单中“打开方式”子菜单的排列顺序,就是下面这些。

【a】值是打开文件的程序的名称(包括扩展名)。可以没有,但有的话,MRUList要出现a这个字母。

【b】同上。

【c】同上。

以此类推……

FileExts目录\.扩展名\OpenWithProgids

备注:ProgIDs,programmatic identifiers,程序标识符。该子项下存放着1个或多个程序标识符,作用不太清楚。

FileExts目录\.扩展名\UserChoice

【Progid】用户选择的程序的程序标识符。

 


利用命令行添加/删除文件关联。

【命令】

REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

【说明】

  • KeyName:注册项路径,上文标下划线的即是。
  • ValueName:注册项下的名称,上文冒号前面的即是。若是(默认)就要用/ve。
  • Type:类型。没有/t Type就默认为REG_SZ。REG_SZ类型的值中,形如%xx%的变量不会被解析,而REG_EXPAND_SZ的则会被解析。另外,易语言系统支持库的注册表读取命令无法读取REG_EXPAND_SZ的值
  • /f:强制写入而不询问。
  • (其它没用过,捂脸)

【注意事项】

例子:"\"%%SystemRoot%%\system32\NOTEPAD.EXE\" %%1"

1、命令行中,引号是字符串的边界,当需要在注册表中写入引号时,要用字符\转义。

2、命令行中,形如%xxx%、%x的是变量,比如%cd%代表脚本运行目录、%1代表传入脚本的第一个参数,所以需要写入%SystemRoot%时,需要用字符%转义。


本文原创,也算是学习笔记,如有错误,还望留言指正

转载于:https://www.cnblogs.com/LoveOurWings/p/10328184.html

你可能感兴趣的文章
nginx学习之——虚拟主机配置
查看>>
HBase数据导入导出工具
查看>>
SpringAop--系统日志简例
查看>>
leetcode Candy
查看>>
Android系统Intent中的Uri使用
查看>>
事件模拟场景经典例子
查看>>
洛谷—— P1407 工资
查看>>
洛谷——P3128 [USACO15DEC]最大流Max Flow
查看>>
洛谷—— P1190 接水问题
查看>>
Windows Phone开发之Coding4Fun对话框操作类
查看>>
现代3D图形编程学习-关于本书
查看>>
linux系统下php安装mbstring扩展的二种方法
查看>>
gridview分頁:第一頁 下一頁 1 2 3 4 上一頁 最末頁
查看>>
Hadoop-MR实现日志清洗(一)
查看>>
Bootstrap 3之美01-下载并引入页面
查看>>
在Brackets中使用Emmet
查看>>
lodash用法系列(5),链式
查看>>
ASP.NET Web API的安全管道
查看>>
推荐一个好用的 sqlite 管理器 sqliteman 感觉比 navicat 好用
查看>>
第三周学习进度报告
查看>>