如何修改扩展名对应的图标,如何在新建菜单中加入新项?

来源:互联网 发布:图解dijkstra算法 编辑:程序博客网 时间:2024/05/16 01:55

希望达到的效果是:

  1. .tex文件的图标的路径是“D:\tex.ico”
  2. .tex文件的打开方式是"D:\Program Files (x86)\Vim\vim73\gvim.exe"
  3. 资源管理器里显示.tex的文件类型是TeX源文件。
  4. 资源管理器里右击,新建,有“新建TeX源文件”的选项
  5. 点击此选项,能新建一个有内容的新文件,扩展名为.tex。

图1

图2


本文就是要教读者怎么完成这几个效果。当然.tex可以换成其他的扩展名。注,作者的操作环境是Windows 7 64位系统。


首先,如果你的.tex文件已经显示了图标,但不是你想要的图标;或打开方式是gvim,但图标显示的是gvim的图标;或已经在注册表里折腾了好久,有些效果有,有些效果无等等,建议你先执行清理!

清理就是删除注册表中的以下项目(在本例中文件后缀为tex)。注册表操作需高度谨慎!!

  1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\[.文件后缀]
  2. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\[.文件后缀]
  3. HKEY_CURRENT_USER\Software\Classes\[文件后缀]_auto_file
  4. HKEY_USERS\[SID]\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\[.文件后缀]

感谢Eric_Sheh的博文《如何删除Windows Vista/Windows 7中已关联的文件类型》提供上述信息。


要教个基本概念。在HKEY_CLASSES_ROOT下面以.开头的是扩展名,其他名称的是文件类型(常以file结尾)和其他东西。.tex扩展名依靠其默认值与texfile文件类型相关联。见下图。所以说,扩展名与文件类型是多对一关系,.htm和.html都是htmlfile。

图3


在完成这个任务时,不需要任何操作,注册表的修改就能反应出来,亲测(http://support.microsoft.com/kb/140333)若读者不放心,可以在cmd里,运行命令“assoc  .txt=txtfile”(不含引号)。此操作是将.txt扩展名与txtfile关联起来。此命令会使explorer刷新。

第零步(预备工作),建立.tex和texfile项,如图3。

第一步,设置图标。在texfile下,新建DefaultIcon子项。默认值设为D:\tex.ico。

第二步,设置打开方式。建立如下图红色部分的结构。默认值设为D:\Program Files (x86)\Vim\vim73\gvim.exe。注意我是用了环境变量,这只有在类型为REG_EXPAND_SZ时才有效。所谓expand,就是Windows会把环境变量展开。你可以通过导入注册表文件的方法建立REG_EXPAND_SZ类型的默认值。文末有我提供的注册表文件。

图4

第三步,显示文件类型是TeX源文件。如图3,设置texfile的默认值是TeX源文件。

第四步和第五步,新建TeX源文件。在.tex下新建子项ShellNew。在右边建字符串值FileName,数据是一个模板文件。每次新建TeX文件,就是复制这个模板文件到当前位置。如图。

图5

另外,若右边建字符串值NullFile,则每次新建都是新建0字节的空文件。国内很多介绍往新建菜单里加项目的文章里都使用这个值,而鲜有介绍其意义。你也可以用data,它是REG_BINARY类型,用以指定要写入文件的数据内容。(http://msdn.microsoft.com/en-us/library/cc144101%28VS.85%29.aspx)


本文参考自《扩展名和文件类型如何在注册表注册?》,感谢回复者。


已经做好的注册表文件,两个要全下。

.tex.reg http://www.box.net/shared/cd2jcbdfsyqyy612xu0z

texfile.reg http://www.box.net/shared/7vug20lu3iv4edysr53t


参考资料:

  • 如何向新的对象列表中添加对象
  • Shortcut (Context) Menus and Shortcut Menu Handlers


作者:爱让一切都对了

本文依照3.0协议释出内容。

原创粉丝点击