2013-06-07 2 views
0

Я иногда оставляю окно команд (в Windows, XP или 7) в течение нескольких часов, выполняя такие вещи, как массивные сборки и т. Д. Я просто заметил, что остановил окно и запущенную в нем программу, случайно нажав на нее и маркировка случайного фрагмента текста. Предположим, что в командной строке ожидается щелчок мышью, чтобы скопировать текст, и я не дал его.Windows, Как защитить окно команд от нажатий клавиш или mouseclicks?

Итак, то, что я ищу, найти нелегко. Ничто из того, что я могу придумать для поиска, это даст мне ответ, а не какой-то другой аспект вычисления: защитник, экран и т. Д.

Итак, это там такая программа? Я предвижу что-то, что обертывает вокруг рассматриваемого окна и прозрачно (т. Е. Я могу прочитать его), но он перехватывает любые нажатия клавиш или щелчки мыши, направленные на окно «внутри».

+0

Вы хотите защитить программу, которую вы сделали, или стороннюю программу? – Renan

+0

Просто щелкнув по окну, это не проблема, щелчок правой кнопкой мыши помечает текст. Возможно ли, что вы щелкните правой кнопкой мыши в обычном режиме? – foxidrive

+0

Казалось бы, это было бы маловероятно. Я сделал это в любом случае. Часть моей проблемы заключается в том, что у меня более короткие пальцы, чем тот, кто разработал Magic Mouse. Следовательно, мой указательный палец имеет тенденцию сидеть там, где должен находиться средний палец. –

ответ

0

Вы можете попробовать перенаправить вывод консольного приложения в файл (это просто сделать из командной строки без какого-либо программирования).

В качестве альтернативы вы можете написать небольшой интерфейс (C# будет довольно простым), который имеет текстовое поле только для чтения. Когда этот интерфейс запускается, он запускает вашу программу командной строки и перенаправляет свой вывод, который будет отображаться в текстовом поле.

Оба этих решения просты в реализации - файл проще, но вы не можете прочитать вывод, пока консольная программа работает, только после этого. С интерфейсом пользовательского интерфейса вы можете обновить текстовое поле и прокручивать его, когда консольная программа генерирует выходные данные. Опция пользовательского интерфейса также позволяет скрыть реальное окно консоли и отобразить только внешний интерфейс вашего интерфейса.

Если ваша консольная программа также требует ввода, она довольно сложна, но на основе вашего описания это не так. Я не знаю о готовой утилите для этого, но даже если вам нужно сделать это самостоятельно, это, вероятно, менее 200 строк (не очень сложного) кода на C# или VB.Net.

+0

Перенаправление проблематично. Эти программы уже запущены внутри MinGW/MSYS, Linux Compiler on Windows и эмулятора среды Linux, а скрипты, которые он запускает (и скрипты, выполняемые этим скриптом .....) уже имеют некоторое перенаправление на/dev/null и в других местах. Кроме того, theer - это проблема stdout/stderr 2> & 1. Ваша идея позволить программе C# обернуть Окно отлично. Не все, что мне нужно сделать, это узнать C# .... У меня есть эта картина, которая выглядит как прозрачный конверт, обернутый вокруг окна консоли. –

+1

@WesMiller Это не совсем то, что я имел в виду, но я вижу, как это было бы полезно. Ваша идея также возможна в C#, но это будет больше работы, потому что вам нужно будет отслеживать положение окна консоли и, если это сведено к минимуму, и т. Д. Поэтому я рекомендовал перенаправить выходной поток вашего верхнего уровня консольное окно (я предполагаю, что это MinGW). Вы должны иметь возможность перенаправлять это легко. Независимо от того, какие перенаправления выполняются этим окном, вас не интересует. – xxbbcc

 Смежные вопросы

  • Нет связанных вопросов^_^