Написание собственной «обертки» командной строки для Windows

StackOverflow https://stackoverflow.com/questions/1201969

Вопрос

Я никогда не был поклонником командной строки 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.Я разместил видео, показывающее это в действии, на случай, если кто-нибудь захочет оставить отзыв или идеи.Спасибо за помощь.

http://www.youtube.com/watch?v=-NM-XcYwLDc

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top