C# 是否可以创建一个触摸应用程序来与另一个应用程序交互;“分享”;两者之间的焦点?

C# 是否可以创建一个触摸应用程序来与另一个应用程序交互;“分享”;两者之间的焦点?,c#,wpf,winforms,windows-8,touch,C#,Wpf,Winforms,Windows 8,Touch,我试图做的是有一个助手应用程序,用户可以使用触摸输入来影响第二个应用程序。我已经能够将击键发送到第二个应用程序,但我遇到的问题是当我想按下按钮时 例如,在我的应用程序中,我希望能够按住一个按钮,模拟按下ctrl键。当按下这个按钮时,我希望能够与第二个应用程序交互。如果用户松开按钮,则ctrl键将脱去衣服。我可以让它工作,除非用户在第二个应用程序上做任何事情,按下的按钮是未按下的(因为另一个应用程序获得了焦点) 我不在乎是否我必须去WPF或windows窗体,只要我能让它工作。也可以只接受Wind

我试图做的是有一个助手应用程序,用户可以使用触摸输入来影响第二个应用程序。我已经能够将击键发送到第二个应用程序,但我遇到的问题是当我想按下按钮时

例如,在我的应用程序中,我希望能够按住一个按钮,模拟按下ctrl键。当按下这个按钮时,我希望能够与第二个应用程序交互。如果用户松开按钮,则ctrl键将脱去衣服。我可以让它工作,除非用户在第二个应用程序上做任何事情,按下的按钮是未按下的(因为另一个应用程序获得了焦点)

我不在乎是否我必须去WPF或windows窗体,只要我能让它工作。也可以只接受Windows 8或8.1(所有客户端都是8.1)

任何帮助都将不胜感激

我在下面的评论中添加了注释


第二个应用程序是我没有创建的,它可以是任何真正的应用程序。一个场景是我的应用程序有一个ctrl按钮,你可以按住,然后在outlook中单击一个链接。或者在我的应用程序中按住shift键,同时在photoshop中用笔绘制直线。我可以发送按键,但就是不能处理“保持”触摸命令

我真的很想知道为什么需要在两个不同的应用程序中使用它,但这里是我能想到的最好的方法

在应用程序中,您应该能够订阅KeyDown、KeyUp、Focus和Blur(失去焦点)。我不清楚这是一个实际的按钮还是它的触摸输入,但不管是什么情况,假设当用户“模拟”按下ctrl键时,KeyDown是触发的事件,而KeyUp是当用户停止“模拟”按下ctrl键时触发的事件

设置App1,使其在获得焦点时与App2通信状态:已按下或未按下。每次启动KeyDown或KeyUp时,向App2发送一条消息

当App1的模糊事件触发时,停止向App2发送消息。即使App1不再按下按钮,App2也不会知道,并且可以继续像按下按钮一样操作,直到App2重新聚焦并可以返回发送消息

如果是我,我会让App2拥有与App1相同的逻辑,所以当App2聚焦时,它就开始处理向上/向下状态本身。当发生模糊/聚焦事件时,您可能希望让这两个应用程序进行某种“握手”,以确保在切换时保持状态。当App2获得模糊事件时,它将状态转移给App1,然后他们再次握手,这样App1知道它现在负责管理状态

这基本上是让应用程序通过“标记团队”进行合作。它们彼此之间保持一些状态同步,在模糊/聚焦事件触发时“移交”责任。由于你无法在焦点触发另一个应用程序之前知道模糊会在一个应用程序上触发,因此你需要使用与此“模拟按钮”状态相同的机制来协调应用程序,以便它们不会相互干扰


有些事情告诉我,这并不能完全解决你的问题,但听到为什么不能,肯定会让每个人更接近思考剩下的问题。让我知道扭曲的结尾,嗯?

我真的很想知道为什么在两个不同的应用程序中需要这个,但这里是我能想到的最好的

在应用程序中,您应该能够订阅KeyDown、KeyUp、Focus和Blur(失去焦点)。我不清楚这是一个实际的按钮还是它的触摸输入,但不管是什么情况,假设当用户“模拟”按下ctrl键时,KeyDown是触发的事件,而KeyUp是当用户停止“模拟”按下ctrl键时触发的事件

设置App1,使其在获得焦点时与App2通信状态:已按下或未按下。每次启动KeyDown或KeyUp时,向App2发送一条消息

当App1的模糊事件触发时,停止向App2发送消息。即使App1不再按下按钮,App2也不会知道,并且可以继续像按下按钮一样操作,直到App2重新聚焦并可以返回发送消息

如果是我,我会让App2拥有与App1相同的逻辑,所以当App2聚焦时,它就开始处理向上/向下状态本身。当发生模糊/聚焦事件时,您可能希望让这两个应用程序进行某种“握手”,以确保在切换时保持状态。当App2获得模糊事件时,它将状态转移给App1,然后他们再次握手,这样App1知道它现在负责管理状态

这基本上是让应用程序通过“标记团队”进行合作。它们彼此之间保持一些状态同步,在模糊/聚焦事件触发时“移交”责任。由于你无法在焦点触发另一个应用程序之前知道模糊会在一个应用程序上触发,因此你需要使用与此“模拟按钮”状态相同的机制来协调应用程序,以便它们不会相互干扰


有些事情告诉我,这并不能完全解决你的问题,但听到为什么不能,肯定会让每个人更接近思考剩下的问题。让我知道扭曲的结局,嗯?

因为时间太长了,我正在创造一个新的答案。我做了研究,我很确定我知道发生了什么。但在得出结论之前,我要提到我检查过的所有官方资源

可能的一揽子解决方案 首先,新版本可能会立即解决您的所有问题。如果你需要窗户