Написание собственной «обертки» командной строки для Windows
-
05-07-2019 - |
Вопрос
Я никогда не был поклонником командной строки Windows.Я пробовал такие инструменты, как powercmd, и они мне понравились, но большинство из них не распространяются бесплатно, и мне не нравится мысль платить за что-то, что, как мне кажется, я мог бы написать сам.Я хочу написать свою собственную оболочку командной строки, похожую на powercmd, которая позволяет использовать следующие свойства:
- Пользовательские шрифты и цвета
- Непрозрачность окон
- На панели одновременно открыто несколько окон (например, как просмотр с вкладками)
- Возможность изменения размера окон.
Ребята, сейчас я обращаюсь к вам, чтобы помочь мне решить, следует ли мне попытаться сделать это с помощью C# в Visual Studio или мне следует сделать это на Java с помощью Swing.Мне комфортно и то и другое.Кто-нибудь когда-нибудь делал подобную оболочку командной строки?Если да, то какой язык вы использовали и каков был ваш опыт?Спасибо за любой отзыв.
Грант-
Решение
Поскольку вы спросили, я сам написал один на C# - Process
класс просто слишком полезный.Главное здесь — перенаправление ввода-вывода.Хотя я никогда не управлял этим полностью сам, вам это нужно, чтобы выходные данные подпроцесса не появлялись в другом окне консоли.Также можно убивать программы, находить существующие и т.д.
Кроме того, манипуляции с консолью C# очень удобны.
Хотя я не являюсь программистом на Java, я могу себе представить, что обе эти важные функции будут довольно сложно использовать, учитывая, что Java не зависит от платформы.
Другие советы
Если вы хотите создать командную строку Windows, я бы рекомендовал C#.Принудительная независимость платформы Java заставит вас слишком много бороться за передачу команд базовой ОС.
Уже есть Console2, которая отвечает самым важным пунктам. - изменение размера, непрозрачность, вкладки, изменяемые шрифты.
Он написан на C++, и внутри него находится cmd.exe (или любая другая командная оболочка, которую вы ему прикажете использовать), так что это может быть два удара по нему, если вы действительно заинтересованы в разработке собственной оболочки на управляемом языке.
C# имеет несколько преимуществ по сравнению с Java для проектов такого типа, не последним из которых является лучшая интеграция с Windows, которая (предположительно) является единственной платформой, для которой вы разрабатываете это.Библиотека Java Swing далеко не так хорошо настроена на машинах под управлением Windows, как формы C#, а благодаря возможности использования WPF C# кажется мне явным победителем.
Я бы не стал использовать для этого Java и Swing.C# позволит вам напрямую взаимодействовать с платформой .Net и создать более мощный инструмент командной строки.Получить доступ Java к некоторым системным вызовам Windows будет непросто.
Просто хотел сообщить вам, что в итоге я написал оболочку командной строки на C#.Получилось очень хорошо.У меня есть еще пара мелочей, которые я хочу добавить, а затем выложу исходный код, а также место для загрузки .exe.Я разместил видео, показывающее это в действии, на случай, если кто-нибудь захочет оставить отзыв или идеи.Спасибо за помощь.