konsola C#

0

Mam kilka pytań
w jaki sposób można wyłączyć opcje rozszerzania okna konsoli
w jaki sposób trwale wyłączyć kursor

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();
        }
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1