Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30

Вопрос по PostMessage

24.10.2010, 18:00. Показов 1456. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В продолжение темы Вопрос по работе WaitForSingleObject
Этот факт нужен лишь тем, кто указанную тему читал. Тем, кто не читал, вкратце сделаю постановку гипотетической задачи, описывающей, зачем это нужно

Допустим есть несколько устройств, на которые приходят какие-то данные. Программа работает так, что на обработку данных с каждого устройства выделяется один поток. Каждый поток анализирует пришедшие данные и в какой-то момент понимает, что там есть "что-то интересное". Поток должен выдать на GUI'ёвый компонент (например Memo) сообщение типа "на устройстве N5 есть интересные данные 0x10 0x20 0x30" после чего продолжать дальше анализировать входной поток. А основной процесс занимается тем, что принимает от потоков такие сообщения и помещает их в Memo. Точный порядок неважен (т.е. в пределах короткого интервала времени без разницы что в каком порядке напечатано). Важно лишь то, чтобы все данные были отображены. Тормоза при отображении данных некритичны. Т.е. если поток болтался в ожидании, пока главный процесс соизволить принять данные, а в это время на устройство пришло что-то интересное и мы это прощёлкали - не страшно
Работаю на Borland'е. Сейчас для отправки сообщения из потока в главный процесс я использую PostMessage, при этом в качестве Handle использую Handle окна (TForm->Handle). А в классе окна описан обработчик события:

C++
1
2
3
4
    void __fastcall WM_OnUserMessage (TMessage &msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER (WM_USER, TMessage, WM_OnUserMessage)
END_MESSAGE_MAP (TForm)
Теперь хотелось бы поставить обработчик события, который бы НЕ был привязан ни к какой из компонент. Т.е., грубо говоря, создать какой-то Handle, висящий в воздухе, к которому был бы привязан обработчик событий
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.10.2010, 18:00
Ответы с готовыми решениями:

PostMessage
Не могу понять куда вводить координату Y. Если ввожу так: postmessage(h2,WM_LBUTTONDOWN,0,120); postmessage(h2,WM_LBUTTONUP,0,120); ...

PostMessage
Доброго дня. Слал через PostMessage кнопки и беды не знал. PostMessage(h, WM_KEYDOWN, Ord('1'), 0);//Шлется единица PostMessage(h,...

PostMessage VS Win 10
На данной версии ОС,напрочь отказываются работать PostMessage, ни кто не сталкивался?

2
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
26.10.2010, 11:48
Под handle вы имеете ввиду первый аргумент ф-ции PostMessage ? То есть, хендл главного окна GUI, к-рому высылается сообщение ?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
26.10.2010, 13:08  [ТС]
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
Под handle вы имеете ввиду первый аргумент ф-ции PostMessage ? То есть, хендл главного окна GUI, к-рому высылается сообщение ?
Не "хендл главного окна GUI", а просто "хэндл окна GUI" (в моём случае это не главное окно). А так да - хэндл окна
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.10.2010, 13:08
Помогаю со студенческими работами здесь

не работает PostMessage
Добрый день. Пытаюсь написать перехватчик клавиатуры используя SetWindowsHookEx. В классе приложения настраиваю на перехват нажатия...

PostMessage, SendMessage
Здравствуйте. Вопрос такой: я посылаю сообщения PostMessage и SendMessage в свернутое окно чужой программы. Несколько раз сообщения доходят...

PostMessage и SendMessage
В общем такая проблема.... отправляю сообщение: PostMessage (hWnd, 1001, 1, (LPARAM)&cds); проходит.. пишу PostMessage (hWnd,...

PostMessage и windows 7
В хп работает стабильно, в семёрке не хочет, кто нибудь сталкивался?

Postmessage WinApi
Добрый день форумчане. Вообщем задача такая: Через программу написаную на Delphi открыть программу AnVir Task Manager (1), потом в ней...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru