检测 IBeam 光标
有没有办法从 C++ 代码检测 Windows 上的 IBeam 光标? 我想知道这是否可能,例如,MS Word 有几个类似 IBeam 的光标(例如 IBeam 附近或下方的文本)。
谢谢, 安倍
Is there a way for detect IBeam cursors on windows from c++ code?
I wonder is it even possible, for example just the MS Word has several IBeam like cursor (eg. text near or below the IBeam).
Thanks,
Abe
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为有两种方法可以解决这个问题,更简单的方法需要 Vista。两者都以调用 GetCusorInfo 开始。您可以获取从中获得的 HCURSOR 并将其传递到 GetIconInfoEx< Vista 上的 /a> 或 GetIconInfo,将其转换为 HICON。 Ex 版本包括资源名称,您可以在其中搜索“beam”一词或有关它可能是什么的其他提示。对于旧版本,您必须对 HBITMAP 掩模进行图像分析。由于您正在寻找光标的类型,因此这可能不会太难。或者这可能真的很困难,我从来没有尝试过这样的事情。
I think there are two ways you can go about this, the easier way requires Vista. Both start with calling GetCusorInfo. You can take the HCURSOR you get from that and pass it into GetIconInfoEx on Vista or GetIconInfo on XP, casting it to a HICON. The Ex version includes the resource name which you can search for the word "beam" or other hints about what it might be. For the older version you have to do image analysis on the HBITMAP mask. Since you are looking for the type of cursor, this might not be too hard. Or it could be really difficult, I have never tried anything like this.