我有一个隐藏的窗口,我想发送一个按键给它。我试图实现的一个例子是一个将密钥F5发送到不是活动窗口的Web浏览器的应用程序。当收到F5按键时,Web浏览器会知道刷新当前页面。c#SendKey到一个隐藏的窗口
我也想将密钥的组合发送给应用程序,例如,按Ctrl + S。这种用法的一个例子可以是定时自动保存功能,用于没有自动保存的应用程序。这会让我不得不记得每5分钟保存一次。
C#是我的技术,这听起来现实吗?
我有一个隐藏的窗口,我想发送一个按键给它。我试图实现的一个例子是一个将密钥F5发送到不是活动窗口的Web浏览器的应用程序。当收到F5按键时,Web浏览器会知道刷新当前页面。c#SendKey到一个隐藏的窗口
我也想将密钥的组合发送给应用程序,例如,按Ctrl + S。这种用法的一个例子可以是定时自动保存功能,用于没有自动保存的应用程序。这会让我不得不记得每5分钟保存一次。
C#是我的技术,这听起来现实吗?
这CodeProject文章WINAPI方法定义演示如何将按键发送到外部应用程序(使用C#源代码)。
您可以使用WinApi来达到此目的。 SendMessage或PostMessage方法将所需的消息发送到您的应用程序。 这里的SendMessage函数
[DllImport("user32.dll")]
public static extern int SendMessage(
int hWnd, // handle to destination window
uint Msg, // message
long wParam, // first message parameter
long lParam // second message parameter
);
的C#定义和定义要发送类似的消息:
public const int %WM_MESSAGE_HERE% = %value%;
检查Pinvoke - 巨大的资源包含.NET
这应该是可能的,看www.pinvoke.net和搜索sendinput,该页面应该告诉你,你需要知道的一切,还如何找到窗口(寻找FindWindow函数)
我将如何,例如,使用你的例子发送Ctrl + F5(即两个键一起按下)? – James 2009-09-02 19:00:47