![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Опять про NETSEND
Dmitrij_K © (2004-04-15 11:48:00)Можно ли отправить сообщение в 98-х окнах, там ведь службой сообщений даже не пахнет
Rouse_ (2004-04-15 13:09:00) [1]Пример отправки посредством mailslots
procedure TForm1.Button1Click(Sender: TObject);
var
MSHandle: THandle;
MSMessage: array [0..2] of String;
ResultMsMessage: String;
MSWrite: DWORD;
ServerName: String;
begin
ServerName := Edit1.Text;
if ServerName = '' then ServerName := '*\';
if ServerName[Length(ServerName)] <> '\' then ServerName := ServerName + '\';
MSHandle := CreateFile(PChar('\\' + ServerName + 'mailslot\messngr'),
GENERIC_WRITE,// or GENERIC_READ,
FILE_SHARE_READ,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if not Win32Check(MSHandle <> INVALID_HANDLE_VALUE) then Exit;
MSMessage[0] := Edit2.Text;
MSMessage[1] := Edit3.Text;
MSMessage[2] := Memo1.Text;
CharToOem(PChar(MSMessage[0]), PChar(MSMessage[0]));
CharToOem(PChar(MSMessage[1]), PChar(MSMessage[1]));
CharToOem(PChar(MSMessage[2]), PChar(MSMessage[2]));
ResultMsMessage := MSMessage[0] + #0 + MSMessage[1] + #0 + MSMessage[2];
WriteFile(MSHandle, Pointer(PChar(ResultMsMessage))^, Length(ResultMsMessage), MSWrite, nil);
Win32Check(MSWrite = Length(ResultMsMessage));
CloseHandle(MSHandle);
end;
wal (2004-04-15 12:39:00) [2]отправить можно, а вот принять - уже программа нужна, например WinPopup.exe
clickmaker (2004-04-15 12:39:00) [3]Самому написать, через mailslot'ы или дельфовый TUDP