操作进程创建的窗口



我对C#很陌生,面临着一个问题。我希望通过以下方式操作我动态创建的窗口(调整大小、移动):

Process app = new Process();
app.StartInfo.FileName = "notepad.exe";   //just an example,
app.Start();                              //it will be more than just notepad

我知道我可以通过app.MainWindowHandle获得句柄,但我无法通过Control.FromHandle(app.MainWindowHandle)获得表格。因此,我无法设置此记事本的新位置或大小。

关于我如何操作窗口的任何想法?提前感谢!

事本是一个Win32应用程序,而不是.NET窗体。这就是为什么你不能从中获得Control - 它不是一个控件!

您可以使用窗口句柄执行的操作是将其传递给可以操作 Win32 窗口的 Win32 函数。有一大堆,例如SetWindowPos设置窗口位置(并查看有关从 C# 使用它的 SO 问题)。

有关 MSDN 上的窗口函数的更多参考,并使用 PInvoke.net 作为从 C# 调用这些 Win32 方法的参考。

最新更新