2012-04-11 152 views
1

我正在写一个需要鼠标指针形状改变通知的Windows应用程序。我已经彻底搜索,但找不到满意的解决方案。我想要接收光标形状更改的通知以及光标已更改的类型。捕获MFC中的鼠标指针形状改变事件

从搜索中我开始知道,我将不得不在每个进程中安装一个钩子并捕获WM_SETCURSOR事件,但捕获此消息并不能提供完整的信息。所以请指导我,如果有人可以帮助

+0

你期待什么信息?你有什么信息? – MikMik 2012-04-11 07:10:46

+0

我期待游标的类型(当它从箭头变为手时,或当它改变为调整大小时),我只获得它的位置。我已经看到在loadcursor()中我们可以指定一些ID( IDC_CROSS,IDC_HAND)来改变光标。所以如果相同的id或者相同的东西,我可以得到我的应用程序然后它将服务于这个目的 – 2012-04-11 08:33:27

回答

2

您可以通过GetCursorGetCursorInfo获得当前光标的句柄。

问题是要知道句柄引用哪个游标。我不认为有“反向查找”功能,所以你必须通过比较你的手柄和LoadCursor为不同的可能值返回的手柄来实现它。

幸运的是,文档说这个:

的使用LoadCursor函数加载只有当它没有 被载入光标资源;否则,它将检索现有的 资源的句柄。