使用VC取得文件关联图标的方法

一个简单的学习加强实例,用VC取得文件的关联图标,看下面的代码一起来学习下!

CFileDialog fileDialog( TRUE,"*.*",NULL,NULL,NULL);
if (fileDialog.DoModal() != IDOK) return;
CString str= fileDialog.GetFileExt();
str="."+str;
SHFILEINFO sfi;

SHGetFileInfo(str,0,&sfi,sizeof(sfi),SHGFI_ICON|SHGFI_LARGEICON|SHGFI_USEFILEATTRIBUTES);

int i=sfi.iIcon;
CStatic* pStatic = (CStatic*) GetDlgItem(IDC_STATIC);
HICON hIcon=sfi.hIcon;
pStatic->SetIcon (hIcon);
上面的IDC_STATIC是一个静态控件。
记得用下面的函数释放用SHGetFileInfo获取的icon句柄
If SHGetFileInfo returns an icon handle in the hIcon member of the SHFILEINFO structure pointed to by psfi, you are responsible for freeing it with DestroyIcon when you no longer need it.

BOOL DestroyIcon( HICON hIcon);

时间: 2024-07-30 21:10:55

使用VC取得文件关联图标的方法的相关文章

vc菜单项关联图标,下拉工具栏

问题描述 vc菜单项关联图标,下拉工具栏 今天碰到一个问题:我用CDockablePane类模拟了mfc向导创建的单文档的类视图停靠栏,但是我看了半天没找到停靠栏上第一个下拉工具栏的图标是怎么安上去的.我的理解是:创建popup menu时就关联上图标,于是我从winword.exe文件中导出一个图标,但又出现一个问题:这个图标怎么有那么多不同型号,有32*32 4位, 16*16 8位...先不管,给菜单关联图标,我又有一个问题,找了CMenu的成员,好像只有CBitmap可以关联,那icon

XP系统更换文件夹图标的方法

  XP系统更换文件夹图标的方法 1.在桌面创建一个文件夹,右击属性出现以下窗口. 2.点击自定义--更改图标,会在出现一个小窗口,点击浏览.这时候只要浏览打开你要设置的文件夹图标既可以了. 3.还有一个方法就是利用其他软件,方便快捷,不需要找资源下载.小编介绍一个还不错的软件--好桌道美化软件. 4.切换到文件夹图标,即可查看好桌道提供的文件夹图标资源了,喜欢哪个资源就可以直接点击资源右下角的下载按钮直接下载. 5.也可以点开资源查看资源大图.

VB.NET获取文件默认图标的方法_vb.net

本文实例讲述了VB.NET获取文件默认图标的方法.分享给大家供大家参考.具体如下: 该段代码帮助你获取计算机上的任何文件的默认图标,使用Shell32.dll. Private Structure SHFILEINFO Public hIcon As IntPtr Public iIcon As Integer Public dwAttributes As Integer <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _ Public

VC 实现文件关联

文件关联的两个简单函数 //--------------------------------------------------------------------------- // 检测文件关联情况 // strExt: 要检测的扩展名(例如: ".txt") // strAppKey: ExeName扩展名在注册表中的键值(例如: "txtfile") // 返回TRUE: 表示已关联,FALSE: 表示未关联 BOOL CheckFileRelation(c

Dreamweaver 【文件关联】的重置

  Dreamweaver CS 4 在初始安装的时候,会弹出个如下的对话框,想必大家都很熟悉了,在这里大家可以很方便地设置Dreamweaver CS 4 所关联 的文件格式(比如:html,php,asp,jsp),相当的方便. 然而,我们遇到的一个问题是:当我们设置完关联 后,DW没有提供一种方便的方式来管理其自身的文件关联 格式!(即,不能调出上面的对话框了)囧 那么是否存在一种可以修改DW的文件关联 格式的方法呢?想必对整日混迹于各大论坛的看客们来说,实在是小菜一碟了:Google I

win7文件关联修复要怎么做?

  网友出现的问题描述: 安装软件修改了文件的默认关联方式,想自己修改回来,但是WIN7系统与之前的系统有所区别,那么win7文件关联修复要怎么做呢? 推荐下载最新版本的windows 7系统:2014深度技术windows7 64位系统 下面小编就教大家win7文件关联修复的方法: 1.打开控制面板里的程序标签. 2.在弹出的对话框中点击默认程序中的始终使用指定的程序打开此文件类型. 3.在弹出的对话框中,选择要更改关联的文件类型,然后点击更改程序 4.通过点击浏览,选择正确的程序,然后点击确

win7旗舰版系统下快速更换快捷方式及文件类型图标的技巧

  1.更改文件类型图标的方法: 首先双击深度技术系统桌面上的"计算机"图标,然后点击左上方的"工具--文件夹选项--文件夹类型",这时候系统就会把你所有已经注册的文件类型列出来,然后选中其中一种类型,接着点击下方的"高级"按钮,然后点击"更换图标"就可以换成自己喜欢的图标了. 2.更改快捷方式图标的方法: 1)鼠标右击快捷方式图标,然后选择"属性"选项,然后点击"更改图标"按钮; 2.

怎么立即刷新自定文件的图标?

问题描述 比如我制定一个类型.aaa设定好图标,图标在注销后才会显示.如何才能让图标立即刷新?就像winamp一改文件关联图标就跟着变?

VC++实现文件与应用程序关联的方法(注册表修改)_C 语言

本文实例讲述了VC++实现文件与应用程序关联的方法.分享给大家供大家参考,具体如下: 日常工作中,doc文件直接双击后,就能启动word软件,并读取该文档的内容在软件中显示,这都得益于注册表的配置,我们的软件也需要实现这样的功能,该如何写注册表以及写入哪些内容呢?下面的两个函数就能实现这个功能.CheckFileRelation是检查注册表中是否已经将我们期待的文件格式与相应软件关联了:RegisterFileRelation是直接往注册表中写入相关的key和value. /**********