c#SendKey到一个隐藏的窗口

时间:2009-08-31 19:54:54

标签: c# process

我有一个隐藏的窗口,我想发一个按键。我正在尝试实现的一个示例是一个应用程序,它将密钥F5发送到不是活动窗口的Web浏览器。当收到F5击键时,网络浏览器会知道刷新当前页面。

我还想将一组密钥发送到一个应用程序,例如按Ctrl + S。此用法的一个示例可以是定时自动保存功能,以与不具有自动保存的应用程序一起使用。这样我就不用记得每隔5分钟保存一次。

C#是我的技术,这听起来真实吗?

3 个答案:

答案 0 :(得分:3)

这篇CodeProject文章介绍了如何将键击发送到外部应用程序(使用C#源代码)。

答案 1 :(得分:0)

您可以将WinApi用于此目的。 SendMessagePostMessage方法将所需消息发送到您的应用程序。

这是SendMessage的C#定义

[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
  );

并定义要发送的消息,如:

public const uint %WM_MESSAGE_HERE% = %value%; 

检查PInvoke - 包含.NET的WinApi方法定义的优秀资源

答案 2 :(得分:0)

应该可以这样做,查看www.pinvoke.net并搜索sendinput,该页面应该告诉您需要知道的一切,以及如何找到窗口(查找findwindow