1

我想绘制将驻留在所有其他界面之上的图形,包括 Windows 8 新主屏幕。你会怎么做呢?在 Windows 7 及以下版本中,它就像显示一个透明的全屏窗口一样简单,但现在由于桌面与操作系统的其余部分分离,这不再可能了。

原因是我需要显示两个独立于 Windows 鼠标光标的光标。我正在为Wii Remote开发一个多点触控模拟软件(使用传感器条指针),目前我只是设置光标位置并通过摇动 +1 和 -1 像素来唤醒它。但它会干扰触摸,所以我在使用触摸模拟时必须禁用它。它目前有效,但我想添加多点触控支持,以便您可以使用 Wii Remote 进行缩放和旋转。触摸功能已准备就绪,但您希望在按住一个触摸点并使用 Wii Remote 选择另一个触摸点时看到光标,并且在按住第一个触摸点时,Windows 光标无法移动到其他任何地方,因为它坚持接触点。

我已经看到如何通过获取屏幕的 Graphics 对象来直接绘制到屏幕上,但它不起作用,因为它完全不受管理,因此图形保持可见,直到其他东西刷新该区域。

那么,有什么建议吗?

涉及的项目称为 Touchmote,可在 touchmote.net 上作为源代码和可安装的测试版获得。

4

2 回答 2

2
  1. 通过在 requestedPrivileges 属性中指定 UIAccess=”true” 来要求应用程序清单中的 UIAccess 完整性级别。
  2. 使窗口位于最顶层(通过SetWindowPos更改位置或在 WinForms/WPF 中设置 TopMost 属性)
  3. 使用链接到本地​​计算机受信任根证书颁发机构证书存储中的受信任根的数字证书对应用程序进行签名
  4. 从文件系统中的安全位置直接运行(即,不是从调试器)。之后您可以附加调试器。

请注意,这会使您的应用程序运行提升,当您需要从较低的完整性级别连接到您的应用程序时,您可能会遇到问题

于 2013-02-08T18:45:41.493 回答
2

您正在尝试执行的操作已经有一个界面:Touch Injection。您可以指定您有联系人在范围内但不与屏幕接触,屏幕上会出现一个小圆圈。你不需要自己画圆圈;触控系统将为您完成。

于 2013-02-08T18:48:49.733 回答