以编程方式设置控制台窗口大小和位置

Tea*_*ezy 3 c# windows console position z-index

我想在桌面上打开多个控制台程序.这是我每次都要做的事情:1.右击桌面 - >屏幕分辨率 - >检测(4个显示器).2.打开16个不同的控制台程序(每个屏幕4个).3.单击所有窗口以正确获取Z顺序.3.右键单击任务栏 - >显示Windows堆叠(将所有16个窗口组织成完美的正方形,每个屏幕按照z-index的顺序组织4个).

是否有办法以编程方式执行此操作以帮助此更快?

Fra*_*tyx 9

您可以使用Windows API移动控制台窗口.使用DllImport声明要使用的WinApi函数:

[DllImport("kernel32.dll", SetLastError = true)]
static extern IntPtr GetConsoleWindow();

[DllImport("user32.dll", SetLastError = true)]
internal static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
Run Code Online (Sandbox Code Playgroud)

然后打电话给他们:例如

IntPtr ptr = GetConsoleWindow();
MoveWindow(ptr, 0, 0, 1000, 400, true);
Run Code Online (Sandbox Code Playgroud)

您可以使用进一步的WinApi函数SetWindowPos.您可以通过搜索Web PInvoke以及函数名称来查找DllImport语法.按照那里和MSDN中的说明进行操作.