Mam kilka pytań
w jaki sposób można wyłączyć opcje rozszerzania okna konsoli
w jaki sposób trwale wyłączyć kursor
0
1
co masz na myśli przez "opcje rozszerzania okna konsoli"?
co do kursora: https://docs.microsoft.com/en-us/dotnet/api/system.console.cursorvisible?view=netframework-4.7.2
1
Uhuum
Aby wyłączyć kursor użyj
Console.CursorVisible = false; // Nie chowa kursora myszy tylko tą białą linię w konsoli podczas wpisywania
Pierwszego natomiast prawdopodobnie nie da się uzyskać tak prosto
Tzn jest sposób aby to zrobić to przechwycić wydarzenie rozszerzenia konsoli i ustawienie jej z powrotem na początkową ale proces jest chroniony więc to raczej odpada
Więc jedyny prawdopodobnie "prosty" sposób to aby utworzyć osobny wątek(lub lepiej Timer) który sprawdza rozmiar konsoli z tym zapisanym w kodzie i jeżeli jest inny to go zmienia.
Mam nadzieję że pomogłem ^ ^
3
class Program
{
private const int MF_BYCOMMAND = 0x00000000;
public const int SC_CLOSE = 0xF060;
public const int SC_MINIMIZE = 0xF020;
public const int SC_MAXIMIZE = 0xF030;
public const int SC_SIZE = 0xF000;
[DllImport("user32.dll")]
public static extern int DeleteMenu(IntPtr hMenu, int nPosition, int wFlags);
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("kernel32.dll", ExactSpelling = true)]
private static extern IntPtr GetConsoleWindow();
static void Main(string[] args)
{
IntPtr handle = GetConsoleWindow();
IntPtr sysMenu = GetSystemMenu(handle, false);
if (handle != IntPtr.Zero)
{
DeleteMenu(sysMenu, SC_MINIMIZE, MF_BYCOMMAND);
DeleteMenu(sysMenu, SC_MAXIMIZE, MF_BYCOMMAND);
DeleteMenu(sysMenu, SC_SIZE, MF_BYCOMMAND);
}
Console.CursorVisible = false;
Console.Read();
}
}