![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопросы по сетям [D7, WinXP]
SergGG © (2005-11-15 15:27:00)Как можно послать сообщение на другой компьютер по локальной сети по принципу работы функции NetMessageBuferSend, но при условии что Служба Сообщений отключена
SergGG (2005-11-24 17:16:00) [1]
> Sasha73 © (16.11.05 18:41)
Всё равно как только отключаешь службу сообщений передача сообщений не работает
Sasha73 (2005-11-16 18:41:00) [2]Поидее это без службы будет работать:
Function NetSendMessage ( AHost, AFromSt, AToSt, AMessageSt : String ) : Bool;
var
hSlot : THandle;
s, TempAFromSt, TempAToSt, TempAMessageSt : String;
cb : DWORD;
begin
Result:=False;
hSlot := CreateFile(PChar('\\'+AHost+'\mailslot\messngr'),
GENERIC_WRITE, FILE_SHARE_READ, nil,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if hSlot <> INVALID_HANDLE_VALUE then begin
// Подготов ка сообщения (формат "от кого#0кому#0сообщение#0"
TempAFromSt:=copy(AFromSt,1,length(AFromSt));
CharToOEM(PChar(TempAFromSt), PChar(TempAFromSt)); ;
TempAToSt:=copy(AToSt,1,length(AToSt));
CharToOEM(PChar(TempAToSt), PChar(TempAToSt)); ;
TempAMessageSt:=copy(AMessageSt,1,length(AMessageSt));
CharToOEM(PChar(TempAMessageSt), PChar(TempAMessageSt)); ;
s := TempAFromSt + #0 + TempAToSt + #0 + TempAMessageSt + #0;
cb := length(S);
Result:=WriteFile(hSlot, s[1], cb, cb, nil);
CloseHandle(hSlot);
end;
end;