绘制移动图标,它一直是最顶端的鼠标光标和工作的全屏应用程序

Draw moving icon that is top most all the time like mouse cursor and work for full screen apps

本文关键字:光标 鼠标 应用程序 工作 图标 移动 一直是 绘制      更新时间:2023-10-16

我需要绘制一个图标,该图标的移动与鼠标光标大致同步,并且始终位于所有窗口的顶部。操作系统:Windows 7

我有一个解决方案,通过在顶部最透明的窗口中绘制图标,可以在一定程度上发挥作用。该解决方案存在一些主要缺点,因为最顶部的窗口会干扰其他最顶部的窗户,并且一些全屏应用程序无法正常工作。例如,开始菜单和任务栏,如果我不经常将其设置为最顶端,就会覆盖我的窗口。对于一些全屏应用程序来说,用图标更新窗口位置的性能大幅下降,而且它不能顺利地跟随鼠标。

我遇到了另一种方法,将图标直接绘制到桌面的设备上下文中绘制鼠标指针图标?。这种解决方案的缺点是,似乎没有很好的方法来删除"踪迹",尤其是在桌面内容变化很快的情况下。

所以我的问题是:有没有一个不存在上述问题的最终解决方案?是否可以在鼠标光标的"层"中的所有窗口上方绘制?或者用我将要控制的自定义图标制作第二个鼠标光标(我知道寡妇可以像CPNMouse一样显示两个独立控制的鼠标光标)?

有人能给我指正确的方向吗?

谢谢!

使用通过WS_EX_LAYERED/UpdateLayeredWindow设置透明度的最顶部窗口。如果您也设置了WS_EX_TRANSPARENT样式,那么窗口将不会截获鼠标输入。