CTrayIconPosition - 我的托盘图标在哪里?
2016-08-23
0 0 0
暂无评分
其他
如何获取积分?
翻译 maninwest@Codeforge 作者 Irek Zielinski@CodeProject
是否有时候想知道你的托盘图标的位置? Windows 没有提供此功能的 API。这个类是个紧凑的解决方案并且有效,
这个简洁的类让不可能成为可能 - 它可以发现应用程序的托盘图标的位置。方法(2+)
直接方法: 如果终端用户只使用 MS Windows 自带的托盘管理器的话,这个方法会很不错。
此方法的主要原理是系统托盘使用常规工具栏控件来显示图标。找到这个控件的句柄,然后直接请求它获得图标的矩形。这需要实现两步。首先,需要找到工具栏控件的句柄,这可以通过枚举系统中所有窗口找到Shell_TrayWnd 类名称的那个。然后,枚举托盘的所有子窗口找到工具栏。
找到工具栏的句柄后,就可以查询获得当前拥有的图标数量:
//now we check how many buttons is there - should be more than 0 int iButtonsCount = SendMessage(hWndTray, TB_BUTTONCOUNT, 0, 0);
如果图标数量看上去没有问题(大于 0), 则开始考虑如何请求此控件获得图标。如果工具栏是我们的应用的一部分,我们只需发送 TB_GETBUTTON and TB_GETITEMRECT 消息给它,类似于:
for(int iButton=0; iButton<iButtonsCount; iButton++) { TBBUTTON buttonData; //this structure will be filled with data about button SendMessage(hWndTray, TB_GETBUTTON, iButton, (LPARAM)&buttonDa
jsp
相关源码推荐
管家婆代码
0
0
暂无评分
JSP网络相册 极具吸引力的界面 经典MVC架构
1
0
暂无评分
一个jsp的论坛源码
0
0
暂无评分
Jsp客户关系管理CRM系统源码
0
0
暂无评分
Jsp论坛源码
1
0
4.0分
暂无评论