Russian Qt Forum
Ноябрь 23, 2024, 03:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Can not find you window  (Прочитано 2552 раз)
virtus
Гость
« : Март 10, 2014, 10:21 »

Здравствуйте,

не получается отправить пользовательское сообщение дочернему потоку. Появляется сообщение: Can not find you window.

Вот как я отправляю из родительского процесса:

Код:
void MainWindow::on_pushButtonUserMessage_clicked()
{
    PROCESS_INFORMATION pi;
    STARTUPINFO si;
    wchar_t name[] = L"..\\HelloWorld\\debug\\HelloWorld.exe";
    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    if(!CreateProcess(0,
                      name,
                      0,
                      0,
                      TRUE,
                      0,
                      0,
                      0,
                      &si,
                      &pi))
    {
        return;
    }

    HWND h = FindWindow(0, L"Child");
    if(h!=0)
    {
        UINT MyMessage=::RegisterWindowMessage(L"User message");
        if (MyMessage==0)
        {
            MessageBox(0, L"Impossible register message", L"", MB_OK);
            return;
        }
        SendMessage(h, MyMessage, 1, 2);
    }
    else MessageBox(0, L"Can not find you window", L"", MB_OK);

    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
}

Поле windowTitle у дочернего процесса - Child.
В чем может быть причина такого сообщения?

Спасибо.
« Последнее редактирование: Март 10, 2014, 10:23 от virtus » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Март 10, 2014, 10:26 »

Скорее всего процесс не успевает стартовать, а вы уже пытаетесь найти его окно.
Записан
virtus
Гость
« Ответ #2 : Март 10, 2014, 10:44 »

да, дело было в этом. Разнес запуск процесса и отправку сообщения по двум pushButton  и все заработало. Спасибо большое!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 22.