zoukankan      html  css  js  c++  java
  • windows 文件关联图标的设置方法 (附部分代码)

    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 进行更新界面图标.

     

    五. 完成.

  • 相关阅读:
    转: jsp之c标签
    win10下乌龟git安装和使用
    使用Node.js+Socket.IO搭建WebSocket实时应用
    前端优化
    pyqt5环境搭建
    pandas分页读取excel
    PySpark之RDD操作
    PySpark环境搭建
    Django与Celery最佳实践
    Elasticsearch的安装与简单使用
  • 原文地址:https://www.cnblogs.com/lin1270/p/2299136.html
Copyright © 2011-2022 走看看