我正在处理一个应用程序,我遇到了以下问题:
我需要知道另一个窗口是否能够接收输入,如果可以,请使用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。
尝试了所有功能