Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.036 c
3-1100713088
SergP.
2004-11-17 20:38
2004.12.19
SQL. DELETE из одной (нескольких таблиц) при использ. нескольких


14-1101457046
gn
2004-11-26 11:17
2004.12.19
Microsoft обвиняют в использовании чужой интеллектуальной собстве


1-1102341505
Unknown user
2004-12-06 16:58
2004.12.19
Как автоматически распознать тип файла?


3-1101128143
Dobriy
2004-11-22 15:55
2004.12.19
Порты сервера firebird и его клиента


14-1101355616
Кто---то
2004-11-25 07:06
2004.12.19
Как скопировать ассемблер из дебаггера Дельфи ?




   Наверх