Отправка WinPopup сообщения через mailslots

Отправка WinPopup сообщения через mailslots

procedure TForm1.Button1Click(Sender: TObject);
{©Drkb v.3(2007): www.drkb.ru}
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; // Текст сообщение
 // Преобразование в DOS кодировку
 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;
Взято из http://forum.sources.ru Автор: Rouse_

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...