co @jdigital powiedział. Zauważ, że jeśli utworzysz ukryte okno, a twój wątek jeszcze nie zaimplementuje pętli komunikatów (albo w zwykłym słowie win32-speak, albo w kontekście STA COM - i jeśli nie masz pojęcia o czym mówię wtedy prawdopodobnie nie ma w twoim wątku), będziesz również chciał utworzyć pętlę wiadomości. ATL czyni to dość łatwym z _AtlModule.RunMessageLoop();
Niestety to również oznacza, że wątek, o którym mowa, prawdopodobnie będzie musiał być sterowany zdarzeniami, gdy znajduje się w pętli wiadomości. Możesz robić trudne rzeczy, takie jak MsgWaitForMultipleObjects, ale robi się włochaty.
Oto przykład hidden windows, jeśli znasz ATL/COM. Przeszedłem przez ten ból jakiś czas temu i pomyślałem, że była pożyteczna dyskusja na temat microsoft.public.vc.atl, ale najlepsze, co mogę teraz znaleźć, to this post. który szczegółowo opisuje warianty pętli komunikatów (co robić inaczej, jeśli masz akceleratory klawiszy lub niemodne okna, brzmi jak nie masz w aplikacji).
SendMessage jest niezwykle niebezpieczna funkcja do korzystania w środowisku wielowątkowym, ponieważ nie jest bezpieczny wątku i może doprowadzić do zakleszczenia (mówię z doświadczenie). –