C# 窗口可以接收输入吗

C# 窗口可以接收输入吗,c#,winapi,dll,window,C#,Winapi,Dll,Window,我正在处理一个应用程序,遇到以下问题: 我需要知道另一个窗口是否能够接收输入,如果可以,请使用SendKeys()输入一些文本 (例如:我有一台速度非常慢的计算机,记事本需要2秒才能完全加载-窗口在1秒内创建,但控件和光标仅在2秒后出现,因此总之记事本在启动后仅能在2秒后接收输入) 我使用了以下代码: [DllImport(“user32.dll”)] [返回:Marshallas(UnmanagedType.Bool)] 静态外部布尔IsWindowVisible(IntPtr hWnd);

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

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

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

我使用了以下代码:

[DllImport(“user32.dll”)]
[返回:Marshallas(UnmanagedType.Bool)]
静态外部布尔IsWindowVisible(IntPtr hWnd);
私有void testMethod()
{
过程p=新过程();
p、 StartInfo.FileName=“记事本”;
p、 Start();
如果(p!=null)
Show(IsWindowVisible(p.MainWindowHandle.ToString());
}
但是,当创建窗口时,此方法将返回true,即使组件尚未加载


我在

上尝试了所有功能有什么理由不使用自动化?自动化?请解释一下。我设法解决了WaitForInputIdle的问题(1)