大家好,感谢您的宝贵时间和帮助。我正在研究一个用例,在该用例中,我想在Windows 10 1809上使用win32 c ++ 14/17将光标永久绘制到GUI应用程序上。这会产生多个“光标”,但实际上只有一个系统光标会在其他仅仅是在GUI应用程序客户端窗口中最后一个光标位置上保持绘制状态的图标。这种区别非常重要。我知道目前无法在单个Windows会话上配置多个活动游标。在这里,我只是试图显示多个绘制的光标,尽管一次只激活一个。如果您有任何建议或意见,我将不胜感激。 :-)预先感谢!
编辑:在这个问题上引起了混乱之后,我决定详细说明我的用例。
我当前的用例实质上是创建一个自助服务终端设置,其中涉及两个显示器,尽管它们在相同的硬件上运行,但它们似乎与完全隔离的计算机连接到用户。为了做到这一点,我创建了一个仅消息窗口,该窗口处理通过PostMessage(...)到每个显示器的输入路由。每个显示又具有其自己的消息循环,该消息循环处理路由输入。在这种情况下,我正在跟踪坐标,并且一切正常。但是,当我在一个显示器上使用给定的输入并使用映射到第二个显示器的第二个输入设备时,我看到光标在第一个显示器上消失并跳转到第二个显示器。此处的目标是尽管跳到第二显示器也向用户提供视觉反馈(即,光标),使得用户将每个监视器感知为附接到独立的“计算机”。这就是为什么我希望光标保持绘制在先前的已知位置。任何帮助和输入,我们将不胜感激!
答案 0 :(得分:0)
对此问题有很多好的想法和答案。我最终要做的是使用DrawIcon(...)直接在屏幕位置上绘制图标。但是,事实证明,我没有观察到正在绘制的光标的部分原因是因为我重新创建了桌面窗口,而不是从EnumDisplayMonitors(...)返回的RECT中获取窗口。因此,我是在错误的窗口对象上绘制的。所以问题解决了...
感谢您提供所有答案。我希望这可以帮助其他人解决同样的问题。 :-)