通过窗口句柄获取窗口图标的几种办法
来源:互联网 发布:如何接软件项目 编辑:程序博客网 时间:2024/05/08 03:19
1.枚举窗口 ---->获得窗口句柄---->GetClassLong
2.枚举窗口(EnumWindows)---->获取窗口ID(GetWindowThreadProcessId)---->通过进程ID获取进程句柄(OpenProcess)---->进程对应的可执行文件路径(GetModuleFileNameEx)---->提取图标(ExtractIconEx)
3.HIMAGELIST hil;
SHFILEINFO sfiTemp;
ZeroMemory(&sfiTemp,sizeof(sfiTemp));
hil = (HIMAGELIST)SHGetFileInfo(abc, FILE_ATTRIBUTE_DIRECTORY, &sfiTemp, sizeof(sfiTemp), SHGFI_SHELLICONSIZE | SHGFI_ICON | SHGFI_SMALLICON);
tImageList.Add(sfiTemp.hIcon);
4.下面的第四种方法,该方法获得的图标比较好,但是也要和上述的方法一同配合使用。
if (!SendMessageTimeout(thIcon->next->hWnd, WM_GETICON, 0, 0,
SMTO_BLOCK | SMTO_ABORTIFHUNG, ICON_FETCH_TIMEOUT, (PULONG_PTR) &m_hSmallIcon)
|| NULL == m_hSmallIcon)
{
m_hSmallIcon = (HICON)(LONG_PTR)GetClassLongPtr(thIcon->next->hWnd, GCLP_HICONSM);
}
if (!SendMessageTimeout(thIcon->next->hWnd, WM_GETICON, 1, 0,
SMTO_BLOCK | SMTO_ABORTIFHUNG, ICON_FETCH_TIMEOUT, (PULONG_PTR) &m_hLargeIcon)
|| NULL == m_hLargeIcon)
{
m_hLargeIcon = (HICON)(LONG_PTR)GetClassLongPtr(thIcon->next->hWnd, GCLP_HICON);
}
- 通过窗口句柄获取窗口图标的几种办法
- 通过进程获取窗口的句柄
- 通过进程获取窗口的句柄
- 通过句柄,获取窗口的指针
- 获取窗口句柄(VC)的几种方法
- VC 获取窗口句柄的几种方法
- [WinAPI] 获取窗口句柄的几种方法
- 通过ProcessID获取窗口句柄
- 通过鼠标获取窗口句柄
- 通过窗口句柄获取窗口指针!
- Windows 7桌面显示图标窗口句柄的获取
- 得到窗口句柄的几种方法
- C# 通过窗口句柄获取程序运行路径 通过程序运行路径获取程序图标
- 获取桌面窗口的句柄
- 获取控制台窗口的句柄
- 获取控制台窗口的句柄
- 获取控制台窗口的句柄
- 获取控制台的窗口句柄
- Apache2.2.17和Tomcat6.0.29整合 (绝对实践版)
- 颜色选择工具
- 完整显示当前时间
- iframe 自适应高度 ,绝对好用。兼容IE和FOX
- log4j中配置日志文件相对路径方法
- 通过窗口句柄获取窗口图标的几种办法
- java学习(1)——旺旺老师
- 标号
- SMTP命令
- 正则表达式匹配正确也报错?
- Sqlserver数据库用户访问属性(单用户模式)
- 从Web页面把SQL导出Excel,如何既保存在服务器端,又能自动导出到客户端。
- codeblocks 及VS2008开发OpenGL程序时,环境配置
- Uva 10300 Ecological Premium