Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Перехват сообщения другого приложения   Найти похожие ветки 

 
Леонид   (2004-11-02 14:11) [0]

Подскажите пожалуйста, как мне из одной проги послать сообщение, что бы в других своих прогах его отловить?
В сообщение должен передаться текст до 255 символов.


 
Юрий Зотов ©   (2004-11-02 21:43) [1]

Посылайте WM_COPYDATA (детали см. в справке). Обычным способом. И принимайте тоже обычным способом.


 
Леонид   (2004-11-03 11:10) [2]

Да, спасибо Юра, но трабла в том, что для WM_CopyData используем только SendMessage,
в котором нужно явно указать хэндл.

procedure Button1Click(Sender: TObject);
var
 cd: TCopyDataStruct;
begin
 cd.cbData := Length(mySendText) + 1;
 cd.lpData := PChar(mySendText);
 SendMessage(FindWindow("TmyTarget", nil), WM_COPYDATA, 0, LParam(@cd));
end;

А я не знаю конкретно приложение получатель, к тому же может их быть несколько и не моих.
Возможно ли это реализовать как-то по-другому?
Кроме варианта поиска перебором всех окон и посылки им сообщения.


 
KSergey ©   (2004-11-03 11:27) [3]

А как вы вообще содираетесь сдыть сообщение "не понятно кому"??? Я что-то тут не понял ничего.


 
Kair ©   (2004-11-03 11:38) [4]

Сначала:


> Леонид   (02.11.04 14:11)  
> Подскажите пожалуйста, как мне из одной проги послать сообщение,
> что бы в других своих прогах его отловить?


Потом:


> А я не знаю конкретно приложение получатель, к тому же может
> их быть несколько и не моих.




 
n0name   (2004-11-03 12:11) [5]

А в чём проблема рассылай всем HWND_BOARDCOAST(чё-то типа этого).


 
TUser ©   (2004-11-03 12:20) [6]


> А в чём проблема рассылай всем HWND_BOARDCOAST(чё-то типа
> этого).

Не надо wm_copydata посылать бродкастом - его ловят все кому не лень.


 
Леонид   (2004-11-03 14:45) [7]

В принципе  SendMessage(HWND_BROADCAST, WM_CopyData, WParam, LParam) мне подходит.
Но тут после посылки сообщения вылетают разные левые окошки,
в частности подключение к интернету из-за невозможности показа какой-то страницы в автономном режиме:(

Кроме своих нужд, тут ещё одна проблема.
Стоит в караоке клубе комп.
Кто знает, есть такой ванбаско караоке плеер.
Есть подозрения, что ведущие тырят понемногу.
Разработчики его не хотят расширять код специфическим бредом.
А я хочу кроме лога прокрученных песен делать всякие там анализы популярности и т.п.
Пару строк они согласны вставить.
Вот что бы им предложить, что бы я в своих будущих прогах отлавливал старт воспроизведения с именем файла?


 
Reindeer Moss Eater ©   (2004-11-03 15:27) [8]

Предложи им грузить свою DLL.
И вызывать из нее процедуру, передавая имя трека.


 
Reindeer Moss Eater ©   (2004-11-03 15:28) [9]

Либо вообще предложи реализовать полноценную поддержку плагинов.


 
KSergey ©   (2004-11-03 15:47) [10]

> [7] Леонид   (03.11.04 14:45)
> В принципе  SendMessage(HWND_BROADCAST, WM_CopyData, WParam,
> LParam) мне подходит.
> Но тут после посылки сообщения вылетают разные левые окошки,
> в частности подключение к интернету из-за невозможности
> показа какой-то страницы в автономном режиме:(

А ведь в [6] предупреждали...

> [7] Леонид   (03.11.04 14:45)
> Есть подозрения, что ведущие тырят понемногу.

Не понял...


 
Reindeer Moss Eater ©   (2004-11-03 15:49) [11]

Чего не понял?
В кассе одна сумма, а проигранных треков - другая.



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
1-1102057217
denis24
2004-12-03 10:00
2004.12.19
TdateEdit.date


3-1100946650
DimDim
2004-11-20 13:30
2004.12.19
Простой запрос на выборку


4-1099314757
zsv
2004-11-01 16:12
2004.12.19
реестр


1-1101997170
REA
2004-12-02 17:19
2004.12.19
Быстрый вывод Bitmap


8-1095743439
DelphiN!
2004-09-21 09:10
2004.12.19
Компонент для перетикания изображения