Максимизация окна консоли - С#
Я работаю над консольным приложением на С#, и мне нужно открыть консоль максимально. Когда я просто нажимаю кнопку максимизации в окне консоли, она максимизируется только по высоте, а не по ширине. Я попытался использовать следующий код:
Console.WindowWidth = 150;
Console.WindowHeight = 61;
Что работает почти так, как я хочу на моем компьютере, но дает ошибку на некоторых других компьютерах.
Что делать, чтобы максимизировать консоль?
Ответы
Ответ 1
Не может быть с CLR. Необходимо импортировать вызовы API Win32 и вытолкнуть окно контейнера. Возможно, это поможет.
using System.Diagnostics;
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
public static extern bool ShowWindow(System.IntPtr hWnd, int cmdShow);
private static void Maximize()
{
Process p = Process.GetCurrentProcess();
ShowWindow(p.MainWindowHandle, 3); //SW_MAXIMIZE = 3
}
Ответ 2
[DllImport("kernel32.dll", ExactSpelling = true)]
private static extern IntPtr GetConsoleWindow();
private static IntPtr ThisConsole = GetConsoleWindow();
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
private const int HIDE = 0;
private const int MAXIMIZE = 3;
private const int MINIMIZE = 6;
private const int RESTORE = 9;
static void Main(string[] args)
{
ShowWindow(ThisConsole, MINIMIZE);
}