1

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

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

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

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

有人可以指出我正确的方向吗?

谢谢!

4

1 回答 1

0

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

于 2012-08-23T09:03:56.557 回答