Я разработал расширение Firefox (надстройку) и вставил в него консольное приложение c ++ (.exe). Я передаю аргументы командной строки этому exe, и он выполняет некоторые действия, связанные с этими аргументами. Проблема в том, что всякий раз, когда этот exe-файл вызывается, появляется и исчезает окно консоли. Я хочу, чтобы это было тихо. Какие-нибудь мысли?
Я предполагаю, что вы на самом деле выполняете свой исполняемый файл через nsIProcess
прямо сейчас. к несчастью nsIProcess
не дает достаточного контроля над процессом создания, чтобы избежать окна консоли.
Вам придется либо изменить само консольное приложение, чтобы оно было приложением «Windows», а не «Консоль» (WinMain()
против main()
), или если это невозможно, вам придется как-то позвонить CreateProcess
себя с dwCreationFlags
в том числе CREATE_NO_WINDOW
флаги.
Последнее может быть сделано либо:
CreateProcess
с соответствующими флагами напрямую, если ваш код дополнения уже C ++.CreateProcess
, определите необходимые структуры и назовите его, заменяя ваше использование nsIProcess
,CreateProcess
запустить ваше реальное приложение с CREATE_NO_WINDOW
,Других решений пока нет …