Нужно таким образом модифицировать диалоговую процедуру, чтобы после вызова DialogBox диалог не появлялся на экране (пока пользователь не кликнет на иконке в трее). Заранее спасибо.
Насколько помню, у меня не получалось в INITDIALOG применить SW_HIDE. Хз почему. Поэтому создавал таймер, который при старте выключался и вызывал ShowWindow(SW_HIDE). При этом окно при запуске мерцало.
тут какой-то странный феномен - первый вызов не может скрыть окно. Я делал так: при WM_INITDIALOG: Код (Text): ;чтоб убрать с экрана, + первый, блин (комом), вызов invoke ShowWindow,[hwnd],SW_MINIMIZE ... ;Пусть эта сволочь думает, что нажали кнопку 'Cancel' invoke PostMessage,[hwnd],WM_COMMAND,BN_CLICKED shl 16 + IDCANCEL,0 ... а при WM_COMMAND, собственно, по кнопке "Cancel" диалог скрывался: Код (Text): ... cmp [wparam],BN_CLICKED shl 16 + IDCANCEL jz hide_me ... hide_me: invoke ShowWindow,[hwnd],SW_HIDE jmp processed При вызове ShowWindow(SW_HIDE) при инициализации диалог в самом деле не прячется - спрятать можно только после. Свернутое окно не мерцает
И у меня не выходило. Просто диалог создается после вызова INITDIALOG с параметром по умолчанию SHOWNORMAL или типа того. Победить это, я думаю, можно только через DLGTEMPLATE.