Как каждый скрывает win32 окно приложения?

Я хочу запустить приложение в "тихом" режиме путем передачи в параметре, иначе я покажу окно.

6
задан Brian T Hannan 10 June 2010 в 17:10
поделиться

4 ответа

ShowWindow (... SW_HIDE ...) не работает?

Лучше всего не создавать окно в первую очередь . Ничто не заставляет вас создать окно в InitInstance. Хотя, если вы работаете с MFC, вероятно, большая часть вашего приложения / домена / бизнес-логики находится там, тесно связанная с этими обработчиками сообщений MFC и т. Д. В этом случае окно должно существовать.

11
ответ дан 8 December 2019 в 05:53
поделиться

Если у вас есть отображение на основе MFC CWnd , тогда CWnd :: ShowWindow (SW_HIDE);
Если вы используете только win32, то ShowWindow (hWnd, SW_HIDE);

Другие действия людей зависят от ваших целей

  • делают окно очень маленьким
  • перемещают окно за пределы видимой области рабочего стола
6
ответ дан 8 December 2019 в 05:53
поделиться

Ну, например, вы можете просто решить не создавать окно вообще, если этот параметр передан, в противном случае вы можете попробовать вызвать ShowWindow с дескриптором вашего окна и с SW_HIDE , и посмотрите, подходит ли он вам.

Другой способ скрыть окно, чтобы оно не отображалось, но все же создавало его, - это никогда не вызывать ShowWindow с SW_HIDE на нем и создавать его с помощью CreateWindow / CreateWindowEx , а не устанавливать флаг WS_VISIBLE в параметре dwStyle .

2
ответ дан 8 December 2019 в 05:53
поделиться

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

2
ответ дан 8 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: