Я хочу запустить приложение в "тихом" режиме путем передачи в параметре, иначе я покажу окно.
ShowWindow (... SW_HIDE ...)
не работает?
Лучше всего не создавать окно в первую очередь . Ничто не заставляет вас создать окно в InitInstance. Хотя, если вы работаете с MFC, вероятно, большая часть вашего приложения / домена / бизнес-логики находится там, тесно связанная с этими обработчиками сообщений MFC и т. Д. В этом случае окно должно существовать.
Если у вас есть отображение на основе MFC CWnd
, тогда CWnd :: ShowWindow (SW_HIDE);
Если вы используете только win32, то ShowWindow (hWnd, SW_HIDE);
Другие действия людей зависят от ваших целей
Ну, например, вы можете просто решить не создавать окно вообще, если этот параметр передан, в противном случае вы можете попробовать вызвать ShowWindow с дескриптором вашего окна и с SW_HIDE
, и посмотрите, подходит ли он вам.
Другой способ скрыть окно, чтобы оно не отображалось, но все же создавало его, - это никогда не вызывать ShowWindow
с SW_HIDE
на нем и создавать его с помощью CreateWindow
/ CreateWindowEx
, а не устанавливать флаг WS_VISIBLE
в параметре dwStyle
.
Я думаю, что лучшим решением будет не создавать окно, если оно не нужно. Взгляните на основную функцию, и вы увидите код, который создает окно. Вызывайте его, только если хотите запустить окно.