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

时间:2016-02-08 06:29:49

标签: c# windows console position z-index

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

有没有办法以编程方式只执行此操作的一部分来帮助它更快?

1 个答案:

答案 0 :(得分: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);

然后打电话给他们:例如

IntPtr ptr = GetConsoleWindow();
MoveWindow(ptr, 0, 0, 1000, 400, true);

您可以使用其他WinApi函数作为SetWindowPos。您可以通过在Web上搜索PInvoke和函数名称来查找DllImport语法。按照那里和MSDN中的解释进行操作。