在watin中击键

时间:2011-04-08 16:09:32

标签: watin

我正在尝试使用 watin 应用推送 down 键,但我无法看到如何操作。我在之前的帖子中看到过你应该使用它:

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

但这对我来说不适合我使用网络浏览器,有什么建议吗?

3 个答案:

答案 0 :(得分:3)

您需要告诉Windows将其重点放在浏览器窗口上,然后发送正确的密钥命令。

例如,此代码段会将焦点设置到浏览器并将“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}");
}

答案 1 :(得分:0)

System.Windows.Forms.SendKeys.SendWait( “{} DOWN”);表明您正在瞄准Windows应用程序。您可以尝试用Web替换Windows吗?

希望它有所帮助。让我知道如果这不起作用,我会尝试进一步研究这个。

答案 2 :(得分:0)

以下问题可以通过几个好的答案回答:

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