- private structRECT {public int left, top, right, bottom; }
- [DllImport("kernel32.dll", SetLastError =true)]
- private static extern IntPtr GetConsoleWindow();
- [DllImport("user32.dll", SetLastError =true)]
- private static extern boolGetWindowRect(IntPtr hWnd,out RECT rc);
- [DllImport("user32.dll", SetLastError =true)]
- private static extern boolMoveWindow(IntPtr hWnd,intx,inty,intw,inth,bool repaint);
- /// <summary>
- /// 控制台窗体居中
- /// </summary>
- public static void SetWindowPositionCenter()
- {
- IntPtr hWin = GetConsoleWindow();
- RECT rc;
- GetWindowRect(hWin, out rc);
- Screen scr = Screen.FromPoint(new Point(rc.left, rc.top));
- intx = scr.WorkingArea.Left + (scr.WorkingArea.Width - (rc.right - rc.left)) /2;
- inty = scr.WorkingArea.Top + (scr.WorkingArea.Height - (rc.bottom - rc.top)) /2;
- MoveWindow(hWin, x, y, rc.right - rc.left, rc.bottom - rc.top,true);
- }
来源: http://www.bubuko.com/infodetail-2114152.html