我如何创建一个只有一个鼠标右键单击按钮的覆盖层,即使在图形游戏中它也始终保持在顶部。
我想用它在我的触摸屏上玩一些需要按鼠标右键才能玩的游戏。
我已经创建了一个AutoHotkey 脚本将触摸屏 Windows 按钮映射到鼠标右键单击但这似乎会对某些游戏的分辨率造成一些问题。
答案1
我假设您所说的“创建覆盖”是指通过编程方式,因为我从未听说过市场上已有这种东西。因此,您必须编写一些代码。
我认为 WPF 非常适合做这个,但我不认为你可以在用户空间中做到这一点全屏应用程序,仅适用于窗口最大化应用程序。以下是一般思路:
- 创建一个新的WPF项目(建议使用.NET 4.0或更高版本)。
- 制作一个窗口透明,没有窗口边框和传递所有输入事件到下面的窗口。
- 对窗口上的小的、不透明的元素(按钮等)应用一些轻微的颜色,这样您就知道在哪里点击以进行右键单击。元素的大小和位置由您决定。
- 处理窗口上的
TouchDown
和事件。如果在事件仍在发生时您收到一个和然后一个,那么您可以在第一个事件的位置模拟鼠标右键单击。现在,您有一个手势,将一根手指放在要右键单击的屏幕上,另一根手指放在“右键单击按钮”上,以在第一根手指放置的位置触发右键单击。TouchUp
TouchDown
TouchUp
TouchDown
TouchDown
如果您不熟悉编码,那么可能就无法实现。我当然不知道有哪个程序可以在未以窗口最大化方式运行的全屏应用程序中实现此功能。
答案2
我找到了解决方案:
触摸鼠标指针- 它是一个虚拟的屏幕触摸板。
您可以在侧面使用它,或者透明浮动或全屏。
在窗口游戏中,它可以浮动或在侧面工作,但对于全屏游戏,它只能在全屏模式下正常工作,然后整个屏幕模拟触摸板,这意味着鼠标不会移动到您点击的位置,但可以像在触摸板上一样通过点击并移动到屏幕上的任何位置。
用两根手指点击则可以实现右键单击。
完美解决老游戏问题!