在鼠标光标平面上绘图或创建自定义动画系统光标?

Posted

技术标签:

【中文标题】在鼠标光标平面上绘图或创建自定义动画系统光标?【英文标题】:Draw on mouse cursor plane or create custom animated system cursor? 【发布时间】:2012-09-25 09:06:17 【问题描述】:

平台:Windows 7 语言:C++

嗨,

我正在尝试为可访问性应用程序创建视觉辅助工具。我的目标是在鼠标光标周围绘制更多信息。它应该可以在每个应用程序窗口中使用,如果可能的话,也可以在全屏应用程序中使用。

到目前为止我发现的可能性并不令人满意: - 绘制整个桌面的设备上下文 - 始终位于顶部的分层窗口

是否可以在与鼠标光标相同的图层上绘图?是否有特殊的内存或设备上下文,可以在其中写入与默认鼠标光标相同的内存。

我可以在其他应用程序中使用自定义动画布局覆盖默认鼠标光标吗? 我可以有一个带有动画内容的系统范围的鼠标光标布局吗?

【问题讨论】:

获取当前使用的光标,在您的应用程序内部修改并使用它。我认为不可能按照您想要的方式绘制。 【参考方案1】:

您需要使用 DirectX 获取桌面背景表面的句柄,然后使用 GetCursorPos GDI 函数获取鼠标坐标,将您的信息渲染到您获得的表面句柄中,循环执行此操作并它应该可以工作。

【讨论】:

以上是关于在鼠标光标平面上绘图或创建自定义动画系统光标?的主要内容,如果未能解决你的问题,请参考以下文章

WPF 创建自定义鼠标光标指针

WPF中的自定义光标?

cursor url 自定义鼠标样式

不移动鼠标光标时Java动画口吃

当鼠标悬停(悬停)在对象上时,鼠标光标应该改变(three.js)

为啥在纵向显示器设置上出现鼠标光标伪影?