Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
Леонид   (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
4-1099812969
Oyster
2004-11-07 10:36
2004.12.19
Список дисков


1-1101980982
PURGEN
2004-12-02 12:49
2004.12.19
Tedit


11-1084284901
Merry
2004-05-11 18:15
2004.12.19
Как запретить меню формы


3-1100598738
Explorer
2004-11-16 12:52
2004.12.19
DBGridEh - выделение ячейки


1-1102326103
jiran
2004-12-06 12:41
2004.12.19
Помогите перевести с с++ на Delphi вызов функции из dll !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский