![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
Программа к которой я подключаю совй плагин не умеет обрабатывать сообщения. Я хочу написать плагин, который бы делал это. Итоговая цель сделать примерно так, как в Winamp я нахожу окно и отправляю ему какое-либо сообщение и мне возвращает нужные мне данные, например длину текущего трека.
Как мне реализовать такое самостоятельно если это вобще возможно сделать через плагин? Хотелось бы пример самой простой функции. -------------------- |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Я бы создал окно , которое ловилобы мессаги, имхо можно, даже где то видел без окна такое -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
Я бы тоже так сделали если бы мне объяснили как их ловить и отвечать на них. Собсна в этом и была суть вопроса. -------------------- |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
Спасибо, но мне всё это сложно понять и разобрать, не силён я в С++ и WinAPI, вот если бы кто-нибудь написал простейший пример... :\ Это сообщение отредактировал(а) iddqd - 7.3.2006, 14:47 -------------------- |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Упс ошибочка вышла насчет языка , щаз еще чет поищем
А здеся учить это надо будет если хошь то что задумал написать. PS щаз пороюсь еще Добавлено @ 14:58 http://web.ict.nsc.ru/~cancel/delphi/realapp.html Добавлено @ 14:59 http://web.ict.nsc.ru/~cancel/delphi/msg.html Добавлено @ 15:00 http://www.firststeps.ru/mfc/winapi/win/apiwind1.html Добавлено @ 15:05 http://www.drkb.ru/ -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
Спасибо за ссылки.
Использую следующую функцию из рекомендованных ссылок.
Но код не рабочий. -------------------- |
|||
|
||||
| Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
А что шлешь? (код где?)
Имхо надо юзать не а WM_USER+N (любое целое число) Добавлено @ 16:48 не увидел этого но лучше не 999, а WM_USER+999 ShowMessage , ненадо юзать , если хошь , то
Добавлено @ 16:50
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
| Romero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.6.2005 Репутация: 1 Всего: 1 |
Romikgy, подскажи, как лучше организовать следующее:
Есть служба MyService.exe, есть обычная прога MyProg.exe (которая запускается непосредственно самой службой). Нужно с определенной периодичностью отсылать некоторое сообщение от MyService окну программы (хэндл известен из функции ее запуска, CreateProcess, например), ждать некоторое время и если не получен ответ (соответственно, в самой проге нужно реализовать прием и отправку сообщений), убивать процесс MyProg и запускать заново. Очень важный момент: вся эта махинация нужна не только для контроля присутствия в памяти MyProg.exe (если вдруг случайно вылетит), но и для выявления зависания (если прога запущена, но зависла, то она не должна отвечать на сообщения службы). Поступили предложения организовать это через pipe или через системные сообщения. Как лучше, проще и надежнее в данной ситуации? Если не сложно, |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Romero, имхо сначало надо читать правила
один топик один вопрос! А по существу, я бы делал через мессаги, только если возможен неответ , то вместо SendMessage я бы юзал PostMessage, а подтверждение делал бы из сообщения юзал бы за и последнее , эти все мессаги юзают хендл окна, а это дает хендл процесса , это разные вещи!!! Если надо отсылать процессу тогда юзай PostThreadMessage -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Romero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.6.2005 Репутация: 1 Всего: 1 |
Спасибо. Как отправлять сообщение я понял. Больше интересует, как их принимать лучше всего (если использовать PostThreadMessage)?
Делать бесконечный цикл, который лезет в очередь сообщений? Или есть какое-то событие при поступлении сообщения? Это сообщение отредактировал(а) Romero - 9.3.2006, 17:39 |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Имхо так , только надо в него еще внедрить обработку сообщений системы, чтоб приложение не висло -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 6 Всего: 50 |
iddqd,
Мне кажется, что для твоей задачи будет проще создать отдельный поток, в котором обрабатывать сообщения, посылаемые PostThreadMessage. организуется такой поток очень просто. Если необходимо, приведу пример. -------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |