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

Вниз

Перехват сообщений "Службы сообщений" Windows   Найти похожие ветки 

 
Димыч ©   (2006-09-18 13:41) [0]

В Windows есть возможность отсылки сообщний при помощи консоли коммандой net send ..., захотелось мне написать программу которая сталабы чем то вроде интерфейса, чтоб не в консоли набирать команды а окне приложения (в edit`e например). С отссылкой бболее менее всё понятно можно при помощи winexec запустить консоль и заставить её выполнить команды, а вот с получением сообщений сложнее, пока додумался только до того что моя программа постоянно проверяет какие программы запущены и если находит окно службы сообщений то считывает с него текст и закрывает его. Данный вариант не совсем устраивает т.к. слишком много процессорного времени требует. Хотелось бы сделать все более культурно, например если бы знать на какой сетевой порт приходят сообщения то наверное можно было бы их перехватывать. Вопрос: как же сделать такой перехват?


 
IceBeerg ©   (2006-09-18 18:02) [1]

Вот и мне тоже это интересно... можно сделать службу сообщений для win98...


 
StriderMan ©   (2006-09-18 18:10) [2]

видел я локальный чат, построенный на службе сообщений. если интересно, попробую вспомнить.


 
IceBeerg ©   (2006-09-18 18:15) [3]

StriderMan ©   (18.09.06 18:10) [2]
Интересно! Вот пока только это нарыл -  http://www.wasm.ru/forum/viewtopic.php?id=7597 есть информация вроде.


 
Leonid Troyanovsky ©   (2006-09-18 18:45) [4]


> IceBeerg ©   (18.09.06 18:02) [1]

> Вот и мне тоже это интересно... можно сделать службу сообщений
> для win98...


Сделать аналог net send в 9х можно. Правда, будет он 16 битный.
Хотя, для приема вместо WinPopup предложить ч.л. трудно.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2006-09-18 18:55) [5]


> Димыч ©   (18.09.06 13:41)  

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


Один умный человек (Slava Usov) как-то сказал, что
гораздо проще (и полезней) создать свою службу сообщений,
хотя бы на базе tcp, чем вмешиваться в работу "стандартной",
призванной решать вполне приземленные задачи.

С коим я, собс-но, вполне согласен.

--
Regards, LVT.


 
Ketmar ©   (2006-09-18 19:02) [6]

> [4] Leonid Troyanovsky ©   (18.09.06 18:45)
вместо винпопап можно предложить кучу заменителей %-)


 
Leonid Troyanovsky ©   (2006-09-18 19:15) [7]


> Ketmar ©   (18.09.06 19:02) [6]

> вместо винпопап можно предложить кучу заменителей %-)


Можно, конечно.
Только, по-сущности, лучше они не будут.

--
Regards, LVT.


 
Shaman_ ©   (2006-09-18 19:44) [8]

Правда, зачем использовать извращенные методы? Если это чат или нечто подобное, с точки зрения способа передачи сообщений, то нужно только определить протокол и сделать свою реализацию на его базе. Я бы выделил 3 основных способа:
1. Именованые каналы. Для одноранговых сетей, если не известно заранее на каком протоколе базируется сеть. Минусы: Есть вероятность что пакет не дойдет до получателя. На именованых каналах сложно организовать систему контроля получения сообщения клиентом.
2. Широковещательные UDP пакеты.
3. Через сокеты с сервером обработки сообщений


 
IceBeerg ©   (2006-09-19 11:05) [9]

Leonid Troyanovsky ©   (18.09.06 18:45) [4]
А мне как раз для приема написать и хочется. Для отправки где-то была работающая версия.


 
IceBeerg ©   (2006-09-19 11:08) [10]

Shaman_ ©   (18.09.06 19:44) [8]
Да вот не чат. Предполагается для обмена короткими сообщениями по сети, а не трепаться, типа "Комметческий отдел: Админ, нужен инет", а в ответ "Готово" и чтобы под w98 работало.


 
Leonid Troyanovsky ©   (2006-09-19 12:03) [11]


> IceBeerg ©   (19.09.06 11:05) [9]

> А мне как раз для приема написать и хочется. Для отправки
> где-то была работающая версия.


http://groups.google.com/group/borland.public.delphi.nativeapi/msg/dd5affadea69d025

--
Regards, LVT.


 
IceBeerg ©   (2006-09-19 12:26) [12]

2 Leonid Troyanovsky ©   (19.09.06 12:03) [11]
Ну, да, именно на mailslot работает, нашел, сделана по "анонимному" типу (sendmsg from to text), исходники тоже есть, но как под w98 поймать сообщение?


 
Leonid Troyanovsky ©   (2006-09-19 12:32) [13]


> IceBeerg ©   (19.09.06 12:26) [12]

> типу (sendmsg from to text), исходники тоже есть, но как
> под w98 поймать сообщение?


TMailSlot ловит сообщения посланные SendToMailSlot и в 95.
Конечно, не в консоли, т.к., все же, снабжен окном.

--
Regards, LVT.


 
Ketmar ©   (2006-09-19 12:35) [14]

> [12] IceBeerg ©   (19.09.06 12:26)
открыть мэйлслот и слушать внимательно.


 
IceBeerg ©   (2006-09-19 12:42) [15]

2 Leonid Troyanovsky ©   (19.09.06 12:32) [13]
Спасибо, нашел примеры, буду думать.


 
IceBeerg ©   (2006-09-19 13:49) [16]

2 Ketmar ©   (19.09.06 12:35) [14]
Чем слушать будем? GetMailSlotInfo по таймеру?


 
Leonid Troyanovsky ©   (2006-09-19 14:36) [17]


> IceBeerg ©   (19.09.06 13:49) [16]

> Чем слушать будем? GetMailSlotInfo по таймеру?


Нет. В 9х там баг был.
См. ссылку в [11].

--
Regards, LVT.


 
Димыч ©   (2006-09-20 10:35) [18]

Спасибо всем кто ответил.
P.S. Хочу сказать своё мнение по поводу того что зачем пристраиваться к чужой службе, лучше написать свой чат. Есть у меня один сосед очень мнительный и подозрительно относящийся ко всем написанным мною (или кем - либо ещё) программам, боится троянов и вирусов. Так вот, если писать свой чат, нужно будет написать програмку к ней которая будет сидеть, скажем, в трее и ждать вызова из сети (по которому запустит чат для приема сообщения), естественно на такое мой сосед врядли согласиться (программа вечно работает в трее, что-то там делает, полюбому троян). А вот виндозе он конечно доверяет, служба сообщений запускается автоматически (опять же зачем пихать в трей еще что-то, раз служба сообщ. уже запущена) у любого юзера в сети, т.е. такая прога (которую я хочу довести до ума) получит , так сказать, совместимость со всеми не зависимо от того хотет они пользоваться моей программой или нет, а те кто будет ей пользоваться получат удобный интерфейс + скорость отсылки сообщений увеличивается + виден архив отосланных и принятых сообщений. Вообщем мне кажется что такой вариант (пристраивание к службе сообщений) имеет право на существование.



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

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

Наверх





Память: 0.5 MB
Время: 0.031 c
2-1158991317
Steep
2006-09-23 10:01
2006.10.08
iso файлы


15-1158129080
DelphiLexx
2006-09-13 10:31
2006.10.08
Delphi 2006 выдает ошибку


2-1158934347
jjj
2006-09-22 18:12
2006.10.08
TreeView


2-1158942531
J_SABER
2006-09-22 20:28
2006.10.08
Папки


3-1154946285
rsa_
2006-08-07 14:24
2006.10.08
в базе MySQL5 запись на украинском внести можно, но при запросе





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