代码之家  ›  专栏  ›  技术社区  ›  James

将键发送到隐藏窗口

  •  1
  • James  · 技术社区  · 16 年前

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

    我还想将组合键发送到应用程序,例如ctrl+s。这种用法的一个示例可以是定时自动保存功能,用于没有自动保存的应用程序。这就省去了我每5分钟就要储蓄一次的麻烦。

    C是我的技术吗,这听起来很现实吗?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Eric J.    16 年前

    这个 CodeProject 文章展示了如何将击键发送到外部应用程序(使用C源代码)。

        2
  •  0
  •   Aleks Andreev Md. Suman Kabir    8 年前

    为此,您可以使用winapi。 SendMessage PostMessage 方法向应用程序发送所需消息。

    这里是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方法定义的大量资源

        3
  •  0
  •   lazzy_ms L.D    8 年前

    这应该是可能的,看看 www.pinvoke.net 寻找 sendinput ,该页应告诉您需要知道的所有信息,以及如何找到窗口(查找 findwindow )