Форум: "Сети";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
ВнизОтправка/получение NT-шных сообщений из Win9x Найти похожие ветки
← →
Мегабайт (2002-12-16 09:51) [0]Уважаемые мастера! Наверное, многие встречались с программами-надстройками над NT-шной службой сообщений (WinPopup, Sender, Network Assistant и т.д.). Как они работают в NT-шных системах понятно, у NT есть API-шные функции для отправки сообщений. Но меня интересует как они отправляют и принимают NT-шные сообщения под Win9x? Неужели ручками эмулируют NT? Кто знает, сообщите пожалуйста ссылки на статьи/компоненты/куски кода и т.д.
← →
NewGuest (2003-01-09 10:12) [1]Клевый вопрос... Кстати зря никто не пытается ответить...
Вообщем на эту тему есть статья на RSDN.ru в разделе файлы "Winpopdown" - прога так называется...
Вообщем реализация на делфи так и остается не познанной, т.к. эта прога написанна не на делфях...
← →
GobliNGuT (2003-01-10 01:45) [2]Не уверен в правильности, но есть подозрение что используются mail-slot"ы попробуй проработать это направлении...
← →
NewGuest (2003-01-12 21:02) [3]Это точно, что используются mailslot... в статье про это хорошо всё расписано.
А есть ещё один боле реальный в Делфях способ NetMessageBufferSend...
← →
Rouse_ (2003-01-12 21:25) [4]Network Assistant использовала майлслоты для отправки из НТ в 98. В последней версии эта возможность почемуто отключена. Вот гораздо интереснее решить проблему отправки из 98 в НТ. Я сейчас как раз над ней думаю.
Желаю успехов
← →
NewGuest (2003-01-13 16:41) [5]могу сказать точно, что вариант с NetMessageBufferSend и туда и сюда нормально посылает...(из 98 в NT и наоборот) вооот...
Это проверенно... этим у нас по сетке болтают.
Я не могу понять к какому компаненту относится данная процедура... помню где-то встречал.
← →
NewGuest (2003-01-14 20:30) [6]а кстати вопрос то ещё интресней!
Вопрос: посылка сообщения из 9х на 2000, XP да причём не на конкрентный, а на все...
← →
NewGuest (2003-01-24 16:47) [7]Никто ничего не придумал....
← →
GobliNGuT (2003-01-27 22:07) [8]Ловите
procedure TForm1.Button1Click(Sender: TObject);
var
MSopen:THandle;
ZHERTVA,USER,COMP:string;
Data:string;
Len:DWORD;
begin
ZHERTVA:=Form1.Edit1.Text;
USER:=Form1.Edit2.Text;
COMP:=Form1.Edit3.Text;
Data:=Form1.Memo1.Text;
CharToOEM(PChar(USER),PChar(USER));
CharToOEM(PChar(COMP),PChar(COMP));
CharToOem(Pchar(Data),Pchar(Data));
Data:=USER+#0+COMP+#0+Data;
Len:=Length(Data);
MSopen:=CreateFile(pchar("\\"+ZHERTVA+"\mailslot\messngr"),
GENERIC_WRITE,FILE_SHARE_READ,NIL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if MSopen<>INVALID_HANDLE_VALUE then
begin
WriteFile(MSopen,Pointer(PChar(Data))^,Len,Len,nil);
end;
closeHandle(MSopen);
end;
ZHERTVA - Имя компа которому идет посылка
USER - Имя компа которое будет указано при получении (для кого)
COMP - Твой комп (от кого - указоно будет при получении)
Если вместо ZHERTVA указать имя рабочей группы - то прийдет ко всем в группе.
Data - строка с сообщением
Я думаю этого кода будет достаточно. На крайняк могу выслать код.
← →
cgbs (2003-02-08 13:57) [9]а в каком модуле описано NetMessageBufferSend ?
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c