学习半年的MFC了,这半年来,进步挺大的.每天都朝着自己的梦想前进着,或许不能实现,但是也无憾了!在这里,就把自己平时收集,撰写的资料整理出来,做个回顾吧,也希望对看官有帮助!
从进程得到该进程关联图标的方法有三:
EnumProcesses枚举进程,GetProcessImageFileName获得可执行文件名然后从文件中读取图标资源
EnumProcesses 得到所有进程ID,然后循环 OpenProcess 打开进程 GetModuleFileName 获取EXE文件路径 LoadLibrary 载入EXE文件 EnumResourceNames 查出第1个图标名称(需要一个回调函数) LoadIcon 载如图标 Add图标到CImageList InsertItem 添加项目到CListCtrl FreeLibrary 释放EXE文件 CloseHandle 关闭进程 继续循环
从文件路径取得图标: dwRetVal = SHGetFileInfo(pPath, 0, &SFI, sizeof(SFI), SHGFI_SMALLICON | SHGFI_ICON); if(dwRetVal > 0) pOneItem->hSmallIcon = SFI.hIcon; dwRetVal = SHGetFileInfo(pPath, 0, &SFI, sizeof(SFI), SHGFI_LARGEICON | SHGFI_ICON); if(dwRetVal > 0) pOneItem->hBigIcon = SFI.hIcon; Add所有图标到ImageList , 设置CListCtrl的ImageList , ...