Как запустить программу командной строки, не открывая окно cmd.exe? - PullRequest
0 голосов
/ 04 декабря 2010

Я в основном использую bash и perl и использую Linux в качестве основной ОС, но теперь я нахожусь на Windows и впервые играю с C ++. Как и многие другие приложения для Linux, я решил оставить элементы cli и gui отдельно.

Теперь у меня работает моя CLI-программа, и мне нужно начать с написания простого внешнего интерфейса. Все, что делает интерфейс - это запускает приложение cli с набором опций, и оно должно отображать вывод программы в текстовом поле и продолжать добавлять его, когда программа выводит все больше и больше текста. Программа cli полностью автоматизирована и работает сама по себе, и после запуска программы взаимодействие с пользователем не требуется.

Может кто-нибудь показать пример кода запуска приложения cli, не открывая окно cmd.exe, или связать меня с какой-нибудь простой программой opensoure, похожей на эту, чтобы я мог видеть, как они это сделали? Программа CLI - это длительный процесс. Что мне нужно сделать, чтобы убедиться, что он не замораживает графический интерфейс?

Я не уверен, должен ли я использовать CLR или Native Win32 для внешнего интерфейса. Я видел программы, написанные на .NET, и меню выглядят ужасно.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2010

Если вы решите использовать библиотеки .NET в своем контроллере пользовательского интерфейса, вы можете использовать System.Diagnostics.Process для создания процесса и настроить параметры ProcessStartInfo для перенаправления StdOut, чтобы вы могли читать его. Есть пример на MSDN .

0 голосов
/ 04 декабря 2010

Вы можете использовать CHP для запуска вашего приложения (CLI или оконного) в невидимом окне. Его использование тривиально:

CHP yourprogram.exe

И вы можете исследовать его источник, если хотите узнать, как это делается.

...