многопоточность — C ++ Win32 API GetMessage из Awesomium в отдельной теме

Здравствуйте и спасибо, что нашли время, чтобы просмотреть мой вопрос.

Я делаю C ++ программу, которая использует Win32 API для создания начального окна программы. Затем я создаю поток, который создает дочернее окно, и присоединяю свой Awesomium WebView к этому дочернему окну.

Я понимаю, что Awesomium не является потокобезопасным, но в документации указывается, что он является поточно-безопасным, в том смысле, что он позволяет вам использовать Awesomium в альтернативном потоке, если вы используете его в потоке, в котором он был создан.

Теперь для вопроса. У меня проблема с получением входных данных из этого потока обратно в WinProc. Если я попытаюсь щелкнуть мышью внутри Awesomium, который связан с этим дочерним окном, то я больше не смогу перетаскивать главное окно по экрану или использовать кнопку сворачивания / максимизации / закрытия, и при этом нажатие на что-либо внутри окна awesomium не имеет никакого эффекта. ,
Я провел много исследований и нашел AttachThreadInput (), но это, похоже, не помогает.

Кто-нибудь знает, как я могу отправлять / получать сообщения в / из этой темы в WinProc?

Текущий код здесь: http://pastebin.com/i4kNHcch

Большое спасибо, ваше время очень ценится.

0

Решение

Ваша проблема не может иметь ничего общего с тем, что Awesomium не безопасен для потоков. С главным окном в одном потоке и дочерним окном в другом потоке Windows может зайти в тупик. Родительское и дочернее окна должны взаимодействовать друг с другом (внутри ОС), и они не предназначены для связи вне потока.

1

Другие решения

Других решений пока нет …