javascript — окно меньше встроенных в расширение Firefox

Я разработал расширение Firefox (надстройку) и вставил в него консольное приложение c ++ (.exe). Я передаю аргументы командной строки этому exe, и он выполняет некоторые действия, связанные с этими аргументами. Проблема в том, что всякий раз, когда этот exe-файл вызывается, появляется и исчезает окно консоли. Я хочу, чтобы это было тихо. Какие-нибудь мысли?

0

Решение

Я предполагаю, что вы на самом деле выполняете свой исполняемый файл через nsIProcess прямо сейчас. к несчастью nsIProcess не дает достаточного контроля над процессом создания, чтобы избежать окна консоли.

Вам придется либо изменить само консольное приложение, чтобы оно было приложением «Windows», а не «Консоль» (WinMain() против main()), или если это невозможно, вам придется как-то позвонить CreateProcess себя с dwCreationFlags в том числе CREATE_NO_WINDOW флаги.

Последнее может быть сделано либо:

  • призвание CreateProcess с соответствующими флагами напрямую, если ваш код дополнения уже C ++.
  • С помощью JS-ctypes импортировать CreateProcess, определите необходимые структуры и назовите его, заменяя ваше использование nsIProcess,
  • Использование другого вспомогательного приложения, которое является приложением «Windows», которое вызовет CreateProcess запустить ваше реальное приложение с CREATE_NO_WINDOW,
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]