windows文件关联图标的查看与设置, 主要是通过注册表实现的.

举例来说, .cpp文件的关联图标.

首先, 打开注册表: HKCR/.cpp, 如下图. 看红框部分, "默认"值, 即是 .cpp的值, 它==VisualStudio.cpp.9.0, 不用管它是什么东东, 我们直接打开 HCR/VisualStudio.cpp.9.0. 看下一幅图.

这里-----, 是VisulaStudio.cpp.9.0, 我们看DefaultIcon, 它就是指定了图标. "默认"值, 就是它的值.

它的值是: C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\VCProject.dll,2

即, 它使用 VCProject.dll 中的第3个图标. 我们可以试着改变它, 看是否会改变.cpp的图标.

注意:

如果该项下有CurVer项时, 就会忽略 DefaultIcon, 它会去找: HKCR\[CurVer]

然后使用HKCR\[CurVer]\DefaultIcon中的图标!

所以代码部分是非常好写的....我们要做的, 就是要做得比较人性化, 易用.

一. 要先提取出当前的图标, 像Windows默认一样, 我们可以把文件VCProject.dll中所有的图标都列出来. 使用 ExtractIcon 函数即可实现.

然后, 用一个ListView控件, ListView_SetImageList (), 即可将Icon全部显示出来, 然后根据索引2, 再选中2的图标, 这样就做到了显示.

也可以使用 SHGetFileInfo (...SHGFI_ICON|SHGFI_OPENICON..)进行获取,最好用这种方式,因为有些文件没有被记录到注册表中,这个时候,

它就会使用“打开程序”索引为0的图标。

二. 用GetOpenFileName去获取一个DLL/EXE或ICON文件, 如果是DLL/EXE, 就用[一]的方法进行显示, 并由用户去选择Index.

注意,如果是.ico文件,那么也要在最后加0,如: C:\a.ico,0

三. 使用用户选择的文件及索引, 直接进行设置注册表.

四. 使用 SHChangeNotify 进行更新界面图标.

五. 完成.

转载于:https://www.cnblogs.com/lin1270/archive/2011/12/23/2299136.html

windows 文件关联图标的设置方法 (附部分代码)相关推荐

  1. 转:Windows文件关联和VC实现

    Windows文件关联分析 话题的提起: 百度遇到一位朋友紧急求助:系统是windows7,这位朋友因为桌面没有OFFICE图标,又急着要用WORD,就把一个桌面图标右击,选择打开方式中选择了word ...

  2. html 启动bat脚本,Windows开机自启动bat脚本设置方法

    摘要 腾兴网为您分享:Windows开机自启动bat脚本设置方法,小睡眠,小书亭,托迈酷客,土豆等软件知识,以及显卡加亮,团购宝,多和梦,pdf编辑器,杭州地铁线路图,宝宝拼图游戏,蠕虫病毒专杀工具, ...

  3. 天翼网盘目录php,天翼云盘文件同步与目录设置方法

    电脑知识-电脑高手网(http://www.dngsw.cn):天翼云盘文件同步与目录设置方法 在天翼云客户端中,不仅能够为我们提供文件上传功能,而且它还具有文件自动同步的功能,用户在下载使用天翼云P ...

  4. windows文件关联、打开方式列表之修改注册表攻略

    这里全是修改注册表的方式.网上找了半天,有的仅有添加文件关联的方法,却没有添加到打开方式列表里面的方法:有的有添加到文件列表的方法,却是使用控制面板->文件夹选项的.好难得才找齐所有,从添加文件 ...

  5. 电脑怎么设置动态壁纸?关于Windows和Mac壁纸的设置方法

    为了让电脑桌面更加美观舒适,很多人都会给电脑的桌面设置自己喜欢的壁纸.图片壁纸很多人都会设置,但是电脑怎么设置动态壁纸?这是很多人的困扰.其实方法同样很简单,下面有关于Windows和Mac动态壁纸的 ...

  6. mac 用户 文件夹 权限_WIN7局域网文件分权限共享设置方法

    局域网内,不同win7系统下如何设置局域网文件共享 实现效果:打开我的电脑可以看到局域网内共享的文件夹 截止2019年win7系统已服役10年之久,系统越来越完善,兼容性越来越强.很多使用window ...

  7. PyQt5 技术篇-窗口名、窗口图标的设置方法。

    窗口名.窗口图标设置方法: Dialog.setWindowIcon(QIcon("D:/pig.ico")) # 设置窗口图标 Dialog.setWindowTitle(&qu ...

  8. java fileupload 进度_Java上传文件进度条的实现方法(附demo源码下载)

    本文实例讲述了Java上传文件进度条的实现方法.分享给大家供大家参考,具体如下: 东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以 ...

  9. java保存图片进度条_Java上传文件进度条的实现方法(附demo源码下载)

    本文实例讲述了Java上传文件进度条的实现方法.分享给大家供大家参考,具体如下: 东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以 ...

最新文章

  1. 2022-2028年中国基因工程药物产业市场研究及前瞻分析报告
  2. ARTS打卡计划第四周-ALGORITHM
  3. poj1088 滑雪
  4. typescript+react+antd基础环境搭建
  5. lombok_Lombok–您绝对应该尝试一下
  6. 正则表达式 python_Python正则表达式总结
  7. Android 驱动(16)---AOSP如何单独build kernel
  8. 《Algorithms》Comparable 实现快速排序三向切分的快速排序
  9. java td背景色_jQuery:无法更改表格单元格的背景颜色
  10. 【Spring笔记】Spring介绍IOC理论推导
  11. PS流的格式和解析总结
  12. 实验三 直流扫描分析
  13. 傲梅分区助手看不到linux,傲梅分区助手使用教程
  14. 老农斗杀巨型蜈蚣目击记
  15. 人性的弱点 ——戴尔卡耐基(笔记)
  16. Java变量概述与使用
  17. golang中channel的传递
  18. YOLO系列代码解读(图像检测)
  19. CentOS 7无法启动,在进度条卡死问题解决
  20. ilove中文_Iloveyou翻译成中文是什么意思

热门文章

  1. java课程设计总结与思考,你掌握了多少?
  2. 淘淘商城FTP服务器、Redis和solr集群配置
  3. 【深度学习入门到精通系列】Python批量实现图像镜像翻转
  4. python【蓝桥杯vip练习题库】PREV-52小数第n位(模拟)
  5. 算法提高 c++_ch04_02_修正版
  6. linux python脚本返回,在C/python中执行linux命令并得到返回值以及输出
  7. php自己写配置项,创建配置文件 用PHP写出自己的BLOG系统 2
  8. 网络推广——网络推广专员从多角度分析网站关键词排名受影响因素
  9. 网络营销——网络营销专员浅析网站快照更新要点
  10. 浅析营销型网站SEO优化的四大原则!