将键击发送到其他应用程序

时间:2014-03-05 17:35:42

标签: c#

我正在尝试用C#编写一个程序,让我发送一个按键到另一个打开但不在前台的程序。该程序的目的是让我开始使用TotalMedia Extreme从我的Xbox 360录制游戏画面,同时也开始以大胆录制从PC麦克风录制。这样我就可以同步两个曲目而不是开始玩游戏记录并快速切换到大胆和点击记录。

基本上我需要这个程序就是在TotalMedia Extreme处于前台时检测鼠标点击,当点击鼠标时,将热键命令发送到Audacity开始录制。有没有人知道如何开始这个?

这似乎是一个很好的起点,但我认为它不会做我需要做的事情:

Send fast textinput to another process (Window)

3 个答案:

答案 0 :(得分:1)

检查一下:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632589(v=vs.85).aspx 我想你可以通过Windows Hooks,特别是WH_KEYBOARD_LL

来实现

答案 1 :(得分:0)

只需使用AutoHotKey即可。命令SendMessage会将击键发送到非活动窗口,但您也可以让AHK在发送击键之前激活右侧窗口。完成后,您可以将其包装成方便的小热键,甚至可以将其编译为exe文件。

答案 2 :(得分:0)

AutoHotKey绝对是我要走的路。您可以使用名为ControlSend的函数将键击发送到特定应用程序的特定控件,即使它们位于后台。听起来它可以完美地满足您的需求。 AHKScript.org上的论坛也非常有用,所以你也可以查看它们!