| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Отправить сообщение главному потоку приложения |
| Автор: Lazin 4.6.2008, 10:25 | ||
| Имеются приложения, которые могут общаться по определенному протоколу, через сообщения. Происходит это так, мое приложение должно отправить через PostThreadMessage, сообщение главному потоку другого приложения, в wParam которого id потока моего приложения(который потом будет принимать ответ), другое приложение, должно мне отправить сообщение, опять-же потоку, через PostThreadMessage. приложения реализуют такой протокол, в WinMain, в цикле обработки сообщений:
со стороны моего приложения происходит следующее: когда мне нужно получить параметр я через CreateToolhelp32Snapshot, отправляю всем потокам того приложения сообщение, потом жду когда придет ответное сообщение... потом я его получаю, обрабатываю и тд... проблема в том,, что иногда сообщение назад не возвращается... такое случается редко, но случается... теперь вопрос можно-ли как-то определить, какой из потоков приложения является основным, то-есть был создан первым и обрабатывает сообщения, и почему сообщение может не прийти? |
| Автор: Rrader 4.6.2008, 14:21 |
| Lazin, немного непонятно Оба приложения работают по схеме, что ты привел? В приложениях несколько потоков? Ты говоришь, что отправляешь всем потокам другого приложения сообщение. Но должен обработать его только главный поток другого приложения? Поясни, пожалуйста. |
| Автор: W4FhLF 4.6.2008, 14:47 |
| Можно конечно перебрать все потоки, получить время их создания и сравнить |
| Автор: dumb 5.6.2008, 03:39 |
| зуб даю. |