С# Подскажите пожалуйста, как сделать консольку полноэкранной по умолчанию? то есть чтобы она запускалась уже в полноэкранном режиме. Что изменить нужно в коде или каких-то свойствах?
Рыл, рыл я в инете инфу... уже расстроился... в гугле, на какой-то там странице, мож 10-й по счету, нашел интересную темку Прочитал ее хорошенько, потестив, извлек из нее этот код: Code: using System; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Program { [DllImport("kernel32.dll")] private static extern IntPtr GetStdHandle(int handle); [DllImport("kernel32.dll")] private static extern bool SetConsoleDisplayMode(IntPtr hConsole, int mode); static public void Main() { IntPtr hConsole = GetStdHandle(-11); SetConsoleDisplayMode(hConsole, 1); } } } Хоть я и мало что понимаю из этого кода, но работает все же) Если кто знает что об этом коде - растолкуйте плз.
Тряси мануалы винапи и dllки в си шарпе Вообщем идет импорт функций из стандартных библиотек Windows, потом их использование. Инфу о функциях(их больше 1000) смотри в msdn.
А ну средствами апи, можно хоть хоть, многое хоть что p.s. Спасибо, кстати. Мне тоже пригодится. Добавлю в шаблоны. p.p.s. у меня что то не запустился на весь экран. У тебя запускается?
Да, запускается. У меня 2005-я студия, С#. Там в той темке, что я линк давал, есть код, что можно еще сразу делать развернутый режим консоли.
Как остановить background worker? Стандартным методом не хочет останавливать =(. Хочет, чтобы я переопределил метод. Как это сделать правильно? P.S SetConsoleDisplayMode на висте при больших разрешениях экрана не отображает.
у меня XP, вот на всякий случай билд. Там выскочит предуприждение о возможности скачки вируса - игнорируй его.
О, и попутный вопрос, как убрать курсор мыши(квадратик тот вместо мышьки), чтобы его вообще небыло, то есть чтоб работа была исключительно с клавой и ни какого намека на мышь.
метод CancelAsync() запрашивает остановку а не производит её. То есть фактически этот метод устанавливает поле CancellationPending равным true. Чтобы остановить поток, нужно в рабочем потоке прописать следующее: (bgWorker - статическая инстанция BackgroundWorker()) private void bgWorker_Work(object sender, DoWorkEventArgs e) // Событие DoWork { if (bgWorker.CancellationPending) { e.Cancel = true; } else { // ресурсоёмкая операция } } Зачем из любого метода (например, обработчика события нажатия кнопки Отмена) запрашиваем отмену: if (bgWorker != null) { if (bgWorker.IsBusy == true) { bgWorker.CancelAsync(); } }