Я пытаюсь добавить функцию всплывающего сообщения в свой проект. И я запускаю ее в подпотоке, так как мне нужно уведомление в реальном времени. Но я нахожу, если в моей подпроцессе создано диалоговое окно уведомления (запущенное1001 *), все элементы (кнопки, URL-адреса ....) диалогового окна не отображаются. Окно сообщения - это просто пустое диалоговое окно.Если я извлекаю функцию и запускаю ее с помощью кнопки, то она работает нормально. Вот функция, это довольно просто.
UINT sendNotification(LPVOID pParam)
{
int x = GetSystemMetrics(SM_CXSCREEN);
int y = GetSystemMetrics(SM_CYSCREEN);
testPopDlg *testPop = new testPopDlg;
testPop->Create(IDD_TEST,0);
CRect lprect(0,0,0,0);
testPop->GetWindowRect(lprect);
int w = lprect.Width();
int h = lprect.Height();
testPop->web.Navigate("http://www.google.com",NULL,NULL,NULL,NULL);
testPop->ShowWindow(SW_SHOW);
for(int k=0;k<20;k++) //slide out
{
testPop->MoveWindow(x-w,y-h*k/20,w,y-h*k/20,1);
Sleep(20);
}
Sleep(5000); //will close after 5 sec
return 0;
}
Почему эта функция не работает правильно в субпотоке?