列表框显示进程图标
来源:互联网 发布:淘宝分销不好做 编辑:程序博客网 时间:2024/05/25 21:32
昨天调各种图标调了半了,改bug改到今天凌晨,总结一下昨天。
列表框中能够直接加入图标,但是不可以改变字体颜色、背景颜色等,因此我用了pudn上的一个类CReportCtrl
CReportCtrl
这个类把列表框给重绘了,功能十分强大。
下面说一下如何获取进程图标
如何做到只在有路径的地方显示图标,做到一一对应。
我的方法是在资源管理器中自己画一个白色图标,设置一个是否有路径的BOOL变量,没有路径的,在CImageList加入白色图标。
有人可能会说,可以使用CreateIcon来创建,我试过这个函数,但不知道为什么,创建黑色图标加入可以,白色图标加入CImageList失败。
也试过其它几种方法,比如如果没有路径就跳过,但总是不可以,我觉得可能是这个不允许有些加入图标,有些不加。
写出来就这些东西,但是实际来解决的时候,却没有这么简单,因为你并不清楚问题出的哪,要慢慢去测试。
如果大家有更好的方法,欢迎分享出来,一起进步。
列表框中能够直接加入图标,但是不可以改变字体颜色、背景颜色等,因此我用了pudn上的一个类CReportCtrl
CReportCtrl
这个类把列表框给重绘了,功能十分强大。
下面说一下如何获取进程图标
.hCImageList ProcessImg;//这个定义一定要放到头文件中,定义成全局变量,不然不会显示.cpp/////////////////////////////////////////////////////////////////////////一些初始化工作SHFILEINFO shfileinfo;ProcessImg.Create(16,16, ILC_COLOR32, 2, 80);HIMAGELIST hImageList = NULL;/////////////////////////////////////////////////////////////////////////这个就是要放到进程遍历的循环里面//lpwzFullString为进程路径,.dll,.exe,.sys无论啥文件都可以hImageList=(HIMAGELIST)::SHGetFileInfo(lpwzFullString,0,&shfileinfo,sizeof(shfileinfo),SHGFI_ICON);//增加到CImagelListProcessImg.Add(shfileinfo.hIcon);//m_list为列表框指针,调用CReportCtrl类中函数设置关联m_list->SetImageList(&ProcessImg);//i为遍历时的id,调用CReportCtrl类中函数设置关联m_list->SetItemImage(i,0,i);///////////////////////////////////////////////////////////////////////简单看上去没什么问题,但是有时候会来显示内核驱动一些信息,有些是已经被删除的,没有路径,提取不到图标,有些是有。
如何做到只在有路径的地方显示图标,做到一一对应。
我的方法是在资源管理器中自己画一个白色图标,设置一个是否有路径的BOOL变量,没有路径的,在CImageList加入白色图标。
有人可能会说,可以使用CreateIcon来创建,我试过这个函数,但不知道为什么,创建黑色图标加入可以,白色图标加入CImageList失败。
也试过其它几种方法,比如如果没有路径就跳过,但总是不可以,我觉得可能是这个不允许有些加入图标,有些不加。
写出来就这些东西,但是实际来解决的时候,却没有这么简单,因为你并不清楚问题出的哪,要慢慢去测试。
如果大家有更好的方法,欢迎分享出来,一起进步。
- 列表框显示进程图标
- 进程列表显示初探
- 显示进程列表
- Apache 文件列表图标无法显示
- mysql-processlist 显示进程列表
- CListCtrl控件列表项和列表头图标的显示
- 在列表控件中显示文件图标与类型
- 虚拟列表第一列显示图标的办法
- Android应用隐藏在所有程序列表内显示图标
- LVITEM 列表视图控件(List Control) 显示图标
- 列表框数据显示
- [树形框][列表框]加左边图标
- CIconListBox带图标的列表框类
- CListCtrl列表框添加与更改图标
- CListCtrl列表框添加与更改图标
- CListCtrl列表框添加与更改图标
- CListCtrl列表框添加与更改图标
- CListCtrl列表框添加与更改图标
- VC 访问mysql数据库
- 关于LibSVM的SMO问题
- 画透明背景
- Android 忘记锁屏密码的解决办法
- 全排列的生成算法
- 列表框显示进程图标
- POJ 1141 Brackets Sequence
- 开始吧,在老去之前
- 重载操作符时选择成员还是非成员实现
- C++程序设计实验报告(七十七)---第十五周任务三(3-1)
- VIM配置文件
- POJ 1505 Copy books
- WebBrowser与IE的关系,如何设置WebBrowser工作在IE9模式下?
- form表单中name和id区别