【问题标题】:Key strokes in watinwatin 中的击键
【发布时间】:2015-09-10 22:08:49
【问题描述】:

我正在尝试让我的 watin 应用程序按下 down 键,但我不知道该怎么做。我在之前的帖子中看到过,你应该使用它:

System.Windows.Forms.SendKeys.SendWait("{DOWN}"); 

但这对我来说不起作用,因为我使用的是网络浏览器,有什么建议吗?

【问题讨论】:

    标签: watin


    【解决方案1】:

    您需要告诉 Windows 将其焦点设置在浏览器窗口上,然后发送正确的键盘命令。

    例如,这段代码 sn-p 会将焦点设置到浏览器并将“DOWN”键发送到浏览器窗口。

    [DllImport("user32.dll")]
    private static extern IntPtr SetFocus(IntPtr hWnd);
    
    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    private static extern bool SetForegroundWindow(IntPtr hWnd);
    
    private void SendDownKey(Browser browser)
    {
        SetForegroundWindow(browser.document.DomContainer.hWnd);
        SetFocus(browser.document.DomContainer.hWnd);      
    
        SendKeys.SendWait("{DOWN}");
    }
    

    【讨论】:

      【解决方案2】:

      System.Windows.Forms.SendKeys.SendWait("{DOWN}");建议您以 Windows 应用程序为目标。可以试试用 Web 代替 Windows 吗?

      希望对您有所帮助。如果这不起作用,请告诉我,我会尝试对此进行深入研究。

      【讨论】:

        【解决方案3】:

        以下问题中有几个很好的答案可以回答:

        Pass a key stroke (i.e., Enter Key) into application using WatiN scripts

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-16
          • 1970-01-01
          • 2013-07-21
          相关资源
          最近更新 更多