窗口可以接收输入

时间:2014-03-28 21:32:02

标签: c# winapi dll window

我正在处理一个应用程序,我遇到了以下问题:

我需要知道另一个窗口是否能够接收输入,如果可以,请使用SendKeys()输入一些文本。

(例如:我有一台非常慢的计算机,记事本需要2秒才能完全加载 - 窗口创建时间为1秒,但控件和光标仅在2秒后出现,因此总结记事本只能接收输入发射后2秒)

我使用了以下代码:

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool IsWindowVisible(IntPtr hWnd);

private void testMethod()
{
    Process p = new Process();
    p.StartInfo.FileName = "notepad";
    p.Start();
    if (p != null)
        MessageBox.Show(IsWindowVisible(p.MainWindowHandle).ToString());
}

但是,即使组件尚未加载,此方法也会在创建窗口时返回true。

我在Window functions on MSDN

尝试了所有功能

0 个答案:

没有答案