Здравствуйте, CEMb, Вы писали:
C>>Потом кто-нибудь по пьяни или и вовсе вполне нормальный код позовет SetWindowPos + SWP_FRAMECHANGED, и тут оно вот оно! Окошко и прорисуется. Имхо, логичнее убрать окно с панели задач и задвинуть его за края видимого десктопа.
C>>Ну разве что придется помедититировать на предмет дополнительных мониторов.
CEM>Ну можно PrintWindow сделать, потом сразу убрать WS_VISIBLE
CEM>С убиранием окон за край экрана тоже могут быть проблемы: некоторые окна при передёргивании настроек десктопа (кто-то дёрнул за рубильник таскбар) норовят влезть обратно сами.
Други, я ж не об том…
Просто когда у окна нет Visible, то сторонний код может вести себя ну очень странно. И не потому что кривой код, а ибо «дизайн бай бехавиор» ©
Ну к примеру, у меня в моем приложении есть фейковое окно (не верхнего уровня). И это окно исключительно для внутреннего использования — сама софтина там много чего в фоне танце-бубнит с данными. Дык вот когда окно теряет WS_VISIBLE, мой фейковый танцо-бубновый окошек ну очень сильно меняет поведение. Нафиг отключает всякие нотификации, блокирует прорисовку к чертям и.т.д.
Соответственно, убирая WS_VISIBLE можно напоророться на несколько непредвиденное поведение.
И это имеет смысл держать в уме… Я
только и только об этом.