Да, есть способ запретить изменение размера консольного окна в C#. Для этого можно воспользоваться функцией SetWindowLong из WinAPI.
Ниже пример кода, который можно использовать для запрета изменения размера консольного окна:
using System; using System.Runtime.InteropServices; class Program { const int GWL_STYLE = -16; const int WS_MAXIMIZEBOX = 0x00010000; const int WS_SIZEBOX = 0x00040000; DllImport("user32.dll")DllImport("user32.dll")DllImport("user32.dll")
static extern int GetWindowLongIntPtrhWnd,intnIndexIntPtr hWnd, int nIndexIntPtrhWnd,intnIndex; DllImport("user32.dll")DllImport("user32.dll")DllImport("user32.dll")
static extern int SetWindowLongIntPtrhWnd,intnIndex,intdwNewLongIntPtr hWnd, int nIndex, int dwNewLongIntPtrhWnd,intnIndex,intdwNewLong; static void Main
{ IntPtr consoleWindow = System.Diagnostics.Process.GetCurrentProcess.MainWindowHandle; int style = GetWindowLongconsoleWindow,GWLSTYLEconsoleWindow, GWL_STYLEconsoleWindow,GWLSTYLE; style = style & ~WS_MAXIMIZEBOX & ~WS_SIZEBOX; // Убираем возможность максимизации и изменения размера окна SetWindowLongconsoleWindow,GWLSTYLE,styleconsoleWindow, GWL_STYLE, styleconsoleWindow,GWLSTYLE,style; // Ваш код здесь } }
Прежде чем использовать этот код, убедитесь, что вы понимаете, как он работает, и что он подходит для вашей конкретной задачи.
Да, есть способ запретить изменение размера консольного окна в C#. Для этого можно воспользоваться функцией SetWindowLong из WinAPI.
Ниже пример кода, который можно использовать для запрета изменения размера консольного окна:
using System;using System.Runtime.InteropServices;
class Program
{
const int GWL_STYLE = -16;
const int WS_MAXIMIZEBOX = 0x00010000;
const int WS_SIZEBOX = 0x00040000;
DllImport("user32.dll")DllImport("user32.dll")DllImport("user32.dll") static extern int GetWindowLongIntPtrhWnd,intnIndexIntPtr hWnd, int nIndexIntPtrhWnd,intnIndex;
DllImport("user32.dll")DllImport("user32.dll")DllImport("user32.dll") static extern int SetWindowLongIntPtrhWnd,intnIndex,intdwNewLongIntPtr hWnd, int nIndex, int dwNewLongIntPtrhWnd,intnIndex,intdwNewLong;
static void Main {
IntPtr consoleWindow = System.Diagnostics.Process.GetCurrentProcess.MainWindowHandle;
int style = GetWindowLongconsoleWindow,GWLSTYLEconsoleWindow, GWL_STYLEconsoleWindow,GWLS TYLE;
style = style & ~WS_MAXIMIZEBOX & ~WS_SIZEBOX; // Убираем возможность максимизации и изменения размера окна
SetWindowLongconsoleWindow,GWLSTYLE,styleconsoleWindow, GWL_STYLE, styleconsoleWindow,GWLS TYLE,style;
// Ваш код здесь
}
}
Прежде чем использовать этот код, убедитесь, что вы понимаете, как он работает, и что он подходит для вашей конкретной задачи.