C++ 画一个移动的图标,像鼠标光标一样一直处于顶部,适用于全屏应用程序
我需要画一个图标,它的移动与鼠标光标几乎同步,并且始终位于所有窗口的顶部。 操作系统:Windows7 我有一个解决方案,通过在顶部最透明的窗口中绘制图标,可以在一定程度上发挥作用。此解决方案存在一些主要缺点,因为最上面的窗口会干扰其他最上面的窗口,并且一些全屏应用程序无法正常工作。例如“开始”菜单和任务栏,如果我不经常将其设置为最顶端,它们将覆盖我的窗口。对于某些全屏应用程序,使用图标更新窗口位置的性能会大幅下降,并且不会顺利跟随鼠标 我遇到的另一种方法是,将图标直接绘制到桌面的设备上下文。这个解决方案有一个缺点,就是似乎没有很好的方法来删除痕迹,尤其是在桌面内容变化很快的情况下 所以我的问题是:有没有一个最终的解决方案不存在上述问题? 可以在鼠标光标层的所有窗口上方绘制吗?或者用我的自定义图标制作第二个鼠标光标,我将控制它。我知道widows可以显示两个独立控制的鼠标光标,如CPNMouse 有人能给我指一下正确的方向吗C++ 画一个移动的图标,像鼠标光标一样一直处于顶部,适用于全屏应用程序,c++,windows,winapi,mouse,C++,Windows,Winapi,Mouse,我需要画一个图标,它的移动与鼠标光标几乎同步,并且始终位于所有窗口的顶部。 操作系统:Windows7 我有一个解决方案,通过在顶部最透明的窗口中绘制图标,可以在一定程度上发挥作用。此解决方案存在一些主要缺点,因为最上面的窗口会干扰其他最上面的窗口,并且一些全屏应用程序无法正常工作。例如“开始”菜单和任务栏,如果我不经常将其设置为最顶端,它们将覆盖我的窗口。对于某些全屏应用程序,使用图标更新窗口位置的性能会大幅下降,并且不会顺利跟随鼠标 我遇到的另一种方法是,将图标直接绘制到桌面的设备上下文。这
谢谢 使用通过WS_EX_LAYERED/UpdateLayeredWindow设置透明度的最顶层窗口。
如果您还设置了WS_EX_透明样式,则窗口将不会拦截鼠标输入。这是我现在已经做的,请仔细阅读问题,但对于游戏等全屏应用程序,存在缺点,您需要经常将该窗口设置为最顶部,以便其他最顶部的窗口不会覆盖它。