gpt4 book ai didi

c++ - 绘制始终位于最上方的移动图标,如鼠标光标,适用于全屏应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 14:14:54 24 4
gpt4 key购买 nike

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

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

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

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

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

谢谢!

最佳答案

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

关于c++ - 绘制始终位于最上方的移动图标,如鼠标光标,适用于全屏应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12088004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com