| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > PostThreadMessage |
| Автор: bems 22.2.2006, 18:09 |
| Как отправить сообщение потоку с другого рабочего стола? |
| Автор: _hunter 22.2.2006, 18:22 | ||
в MSDN' е пишут:
поэтому никак. используй другие методы общения |
| Автор: Snowy 22.2.2006, 18:29 |
| IMHO никак. Разве что по сети... |
| Автор: bems 22.2.2006, 18:47 |
| Можно и так. Но нужна очередь - и очередь сообщений потока очень подходит. Чем лучше заменить, что бы с очередью и не ждать обработки? |
| Автор: _hunter 22.2.2006, 18:55 |
| смотря кому эта очередь нужна -- если одному потоку очередб и самому реализовать можно и писать в нее по мьютексу. ... хотя очередь делать в любом случае придется. тут интереснее метод доступа реализовать... |
| Автор: bems 22.2.2006, 19:04 |
| есть поток который на всех рабочих столах ставит хуки. Из процедуры хука нужно сообщать что-то этому потоку. "Что-то" это не просто сообщение которое пришло в процедуру, например при каком-то конкретном сообщении может понадобиться переслать пару килобайт. В пределах одного десктопа я создавал FileMapping, делал DuplicateHandle и отправлял этот хэндл PostThreadMessage. Если то из процедуры хука это может создать тормоза |
| Автор: _hunter 22.2.2006, 19:09 |
| стартуем в процедуре хука новый поток ( предварительно скопировав ( если нужно ) данные для отправки ) и пишем в общий ресурс в нем |
| Автор: bems 22.2.2006, 19:21 |
| Во! Вариант. А если я на каждом десктопе создам по серверному потоку и в пределах десктопа оставлю как было. А из этих потоков (их меньше, обычно штуки 3) по таймеру буду писать в этот наш мифический общий ресурс. Видишь недостатки? |
| Автор: _hunter 22.2.2006, 19:46 |
| только один -- смысла нет + появляется лишнее звено в цепочке ( смысла существования у которого ( опять же ) нет ) |
| Автор: _hunter 23.2.2006, 11:34 |
| твоя схема: процедура хука -> какой-то поток -> основной поток моя схема: процедура хука -> основной поток ( поток крутится тут же ) при таком подходе ( IMHO ) читаемость/сопровождаемость выше. но писать тебе -- тебе и решать... |
| Автор: bems 23.2.2006, 17:30 | ||
| а
Добавлено @ 17:32 ну да ладно, че это я... В общем, спасибо тебя за полезную дискуссию... |
| Автор: _hunter 23.2.2006, 18:39 |
| но стартует-то поток из этого же приложения. поэтому я его и не считаю. но ( опять же ) писать тебе... |