private static void SetConsolePosition()
{
IntPtr hWin = GetConsoleWindow();
RECT rc;
GetWindowRect(hWin, out rc);
Screen scr = Screen.FromPoint(new Point(rc.left, rc.top));
int x = scr.WorkingArea.Left + (scr.WorkingArea.Width - (rc.right - rc.left)) / 2;
int y = scr.WorkingArea.Top + (scr.WorkingArea.Height - (rc.bottom - rc.top)) / 2;
MoveWindow(hWin, x, y, rc.right - rc.left, rc.bottom - rc.top, true);
}
private struct RECT { public int left, top, right, bottom; }
[DllImport("kernel32.dll", SetLastError = true)]
private static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll", SetLastError = true)]
private static extern bool GetWindowRect(IntPtr hWnd, out RECT rc);
[DllImport("user32.dll", SetLastError = true)]
private static extern bool MoveWindow(IntPtr hWnd, int x, int y, int w, int h, bool repaint);
设置控制台窗口位置在屏幕中心
最新推荐文章于 2024-12-20 11:23:31 发布
这段代码主要用于获取并设置控制台窗口的位置。首先通过`GetConsoleWindow`获取窗口句柄,然后使用`GetWindowRect`获取窗口的矩形区域,接着根据屏幕工作区的尺寸计算新的窗口坐标,最后用`MoveWindow`将窗口移动到计算出的位置。
413

被折叠的 条评论
为什么被折叠?



