В вашем приложении должен быть включен интерфейс командной строки, , если он повышает удобство и комфорт. Например, вызов команды CLI может быть быстрее, чем запуск графического интерфейса пользователя, перемещение по нескольким слоям меню для достижения той же функциональности. Вы можете спросить пользователей своего приложения, если им будет удобно иметь режим CLI.
Несколько слов о женившись CLI & GUI на Windows: приложение окна либо приложение GUI или консольное приложение, но не обоих. Это проблема ОС, и, вероятно, с ней ничего не поделаешь. Консольная подсистема в Windows ужасна, и PowerShell не изменил ее.
Ваши варианты реализации на Windows, являются:
Обеспечить два файла: один .com с консоли, один exe-файл с графическим интерфейсом. Из-за исполняемого зондирования в командной строке комковый файл будет исполнен перед exe.
- консоль мерцающий подход:
Компиляция приложения с графическим интерфейсом консольным режимом на, а затем сразу же после запуска графического интерфейса можно назвать FreeConsole(), чтобы закрыть его. Это немного раздражает, но работает. Плохо: теперь у вас есть мерцающее окно консоли. Pro: еще один файл.
Вы также можете создать окно вывода консоли в приложении winexe, используя некоторые элементы win32-api (AllocConsole/AttachConsole), однако у них все еще есть некоторые проблемы, поскольку в нем нет правильной подсистемы. –
@ Джаспер: конечно, я думаю, вы даже можете пойти после FCB с индексом 0,1 и 2, но я бы действительно держался подальше от этого, просто пойдите с потоком, а не сражайтесь с текущим вверх по течению;) –
У меня никогда не было нужно было написать приложение, которое запускало оба графического интерфейса и имело командную строку, я никогда не понимал, что это так проблематично. Очень информативный ответ. –