#c# #.net #console #console-application
#c# #.net #консоль #консольное приложение
Вопрос:
У меня есть консольное приложение на C #, которое я хочу запускать на всех мониторах, мгновенно полностью экранируя.
У меня есть полноэкранный режим, работающий через SendKeys.SendWait() .
Это довольно легкое приложение, поэтому, если требуется запустить несколько экземпляров, это не имеет большого значения.
Что я пробовал: использование SendKeys.Send(), скрипт автозапуска для открытия приложения и перехода на второй монитор. Не повезло ни на одном из маршрутов. Предпочел бы, чтобы это было решение «все в одном», но все работает.
Я предполагаю, что это нужно будет сделать с помощью Main(), так что вот что:
static void Main()
{
Console.SetWindowSize(Console.LargestWindowWidth, Console.LargestWindowHeight);
Process[] processes = Process.GetProcessesByName("matrix");
foreach (Process proc in processes)
{
SetForegroundWindow(proc.MainWindowHandle);
SendKeys.SendWait("{F11}");
}
Console.ForegroundColor = NormalColor;
Console.WindowLeft = Console.WindowTop = 0;
Console.WindowHeight = Console.BufferHeight = Console.LargestWindowHeight;
Console.WindowWidth = Console.BufferWidth = Console.LargestWindowWidth - 3;
Console.SetWindowPosition(0, 0);
Console.CursorVisible = false;
int width, height;
int[] y;
Initialize(out width, out height, out y);//Setting the Starting Point
while (true)
{
Counter = Counter 1;
UpdateAllColumns(width, height, y);
if (Counter > (3 * Interval))
Counter = 0;
}
}
Спасибо!
Комментарии:
1. Самый простой способ — просто зеркально отобразить ваши мониторы и запустить его только на одном! Никакого дополнительного кода не требуется!
2. Спасибо за эту идею, это может быть жизнеспособным вариантом. Есть ли у вас какие-либо идеи, как настроить зеркальное отображение всех мониторов в C #? Идеальной ситуацией было бы иметь один exe-файл, который обрабатывает все, а затем отменяет все изменения при закрытии.
3. Моя идея заключается в том, чтобы установить этот параметр в вашей ОС, например Windows, где вы просто настраиваете зеркальное отображение одного экрана на все мониторы, если это для вас неприемлемо, потому что вы хотите иметь разные представления на мониторах и использовать это консольное приложение ТОЛЬКО между ними, тогда это сложнее, но я личнобудет выглядеть в «стандартном выводе», он же (стандартный вывод) на C #.
4. Приносим извинения за отсутствие ясности в отношении намерений: это приложение разрабатывается для Windows 10 Pro с использованием Visual Studio 2019 с C # и последней версии. NET framework. Лично для меня оба рассматриваемых монитора являются идентичными устройствами. Но было бы лучше работать на всех мониторах независимо от размера и т. Д. Наличие зеркального трюка для отображения одного экрана на остальных вполне приемлемо и, вероятно, идеально. Я скоро прочитаю некоторую документацию о стандартном режиме, спасибо!
5. Я думаю, я должен также упомянуть цели проекта: В консольном приложении работает эффект Matrix waterfall, который автоматически открывается в полноэкранном режиме. Цель состоит в том, чтобы отобразить его на всех мониторах, а затем отключить весь ввод с клавиатуры. Полное закрытие приложения при нажатии специальной определенной комбинации клавиш. Эффективно создаю свой собственный экран блокировки.