如何在c#中平铺两个程序窗口

本文关键字:两个 窗口 程序 | 更新日期: 2023-09-27 18:16:17

我想在c#中水平平铺两个windows程序。这是一个使用Chrome浏览器查看2d图像的数据视图程序,Unity3d用于3d和导航。

例如,我可以在windows任务管理器中选择两个程序,并且上下文有一个选项来平铺它们。

在。net框架中是否有一个句柄用于平铺不同的程序窗口?

如何在c#中平铺两个程序窗口

可能最好的方法是使用MoveWindow(其中hWnd是要移动的窗口):

[DllImport("user32.dll", SetLastError = true)]
internal static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
MoveWindow(ApplicationHandle, 600, 600, 600, 600, true);

如果你不知道窗口指针,你可以使用FindWindow功能。

同样值得一读的是MSDN SetWindowPos(非常类似于MoveWindow)。