Главная страница
    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.04 c
3-1101117504
Palladin
2004-11-22 12:58
2004.12.19
Access и begin transaction


4-1099339625
Djuice
2004-11-01 23:07
2004.12.19
Help help help!!! КАК ЗАВЕРШИТЬ ПРОЦЕСС В ВИНДЕ, НАПРИМЕР explore


1-1102075083
kaktus
2004-12-03 14:58
2004.12.19
Как убить приожение?


9-1092082459
Zeal
2004-08-10 00:14
2004.12.19
Как вывести несколько спрайтов - одним?


3-1100872886
Wolffgang
2004-11-19 17:01
2004.12.19
fkCalculated = -1, потом 2





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский