如何修改扩展名对应的图标,如何在新建菜单中加入新项?
来源:互联网 发布:图解dijkstra算法 编辑:程序博客网 时间:2024/05/16 01:55
希望达到的效果是:
- .tex文件的图标的路径是“D:\tex.ico”
- .tex文件的打开方式是"D:\Program Files (x86)\Vim\vim73\gvim.exe"
- 资源管理器里显示.tex的文件类型是TeX源文件。
- 资源管理器里右击,新建,有“新建TeX源文件”的选项
- 点击此选项,能新建一个有内容的新文件,扩展名为.tex。
图1
图2
本文就是要教读者怎么完成这几个效果。当然.tex可以换成其他的扩展名。注,作者的操作环境是Windows 7 64位系统。
首先,如果你的.tex文件已经显示了图标,但不是你想要的图标;或打开方式是gvim,但图标显示的是gvim的图标;或已经在注册表里折腾了好久,有些效果有,有些效果无等等,建议你先执行清理!
清理就是删除注册表中的以下项目(在本例中文件后缀为tex)。注册表操作需高度谨慎!!
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\[.文件后缀]
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\[.文件后缀]
- HKEY_CURRENT_USER\Software\Classes\[文件后缀]_auto_file
- 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协议释出内容。
- 如何修改扩展名对应的图标,如何在新建菜单中加入新项?
- [VB.NET]请问如何在vb.net的菜单中加入小图标并为它们加入背景色?
- 如何在网页中加入title图标
- 如何在网页的标题栏中加入icon图标
- 在菜单中加入图标
- VB中如何设计菜单在左侧,像资源管理器样子的.左边能对应大图标!谢谢
- 如何修改桌面新建菜单项
- 如何在右击菜单中添加新建项
- 知道文件扩展名,如何获得在系统中该文件类型的图标
- 如何定制ECLIPSE菜单中新建项
- android小问题:如何在Listview中获取上下文菜单对应的item项
- 调用WIN API实现在菜单项中加入图标
- 如何修改右键菜单新建文档的参数--注册表操作
- 如何在状态栏中加入图标(或图片),还有动态的时间
- 如何修改某个扩展名(如.java .txt)的文件的图标
- 如何修改MFC中的系统菜单的图标?
- 如何在添加新的系统菜单项CMenu
- 如何批量修改文件的扩展名
- 提高测试效率之我见
- strcpy函数的实现
- PHP密保卡
- 清除目录下的SVN信息
- Multipart/form-data POST文件上传详解
- 如何修改扩展名对应的图标,如何在新建菜单中加入新项?
- picture-code
- MFC 单文档 ADO 链接ACCESS数据库,并在视图上显示
- 收藏链接
- c:import 标签详解
- 转灰狐分享的网址
- 评微软等公司数据结构和算法面试100题
- 修改DataTable所有列的类型和记录值以便导出至Excel(2)
- htaccess文件使用大全