что сказал @jdigital. Обратите внимание, что если вы создаете скрытое окно, а ваш поток еще не реализует цикл сообщений (либо в обычном win32-говорящем, либо в контексте COM STA - и если вы не знаете, о чем я говорю тогда, вероятно, один не существует в вашей теме), вы также захотите создать цикл сообщений. ATL делает это довольно просто с _AtlModule.RunMessageLoop();
К сожалению, это также означает, что рассматриваемый поток, вероятно, будет нуждаться в управлении событиями, пока он находится в цикле сообщений. Вы можете делать сложные вещи, такие как MsgWaitForMultipleObjects, но это становится проблематичным.
Вот пример скрытых окон , если вы знакомы с ATL / COM. Я прошел через эту боль некоторое время назад и подумал, что на microsoft.public.vc.atl было полезное обсуждение, но лучшее, что я могу найти сейчас, это этот пост . в которой подробно рассматриваются варианты циклов сообщений (что делать по-другому, если у вас есть ускорители нажатий клавиш или немодальные окна, похоже, что в вашем приложении этого нет).