我尝试使用以下代码从显示的Word应用程序窗口获取托管控件:
Process[] processes = null;
processes = Process.GetProcessesByName("WINWORD");
Process wordProc = processes[0];
Control wordControl = Control.FromHandle(wordProc.MainWindowHandle);
不幸的是,wordControl始终为null... 据我所知,如果未找到与句柄相关联的控件,则FromHandle返回null。但实际上,我认为应该有一个相关的控件,因为我可以在屏幕上看到该窗口。
因此,我的问题是,当我尝试获取句柄或控件时,是否做错了什么可怕的事情。 或者,由于.NET / Windows环境中某些未知的原因,我的一般方法可能无法工作。