Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 451

•  TDictionary Custom Sort  6 486

•  Fast Watermark Sources  6 283

•  3D Designer  9 226

•  Sik Screen Capture  6 616

•  Patch Maker  6 995

•  Айболит (remote control)  6 999

•  ListBox Drag & Drop  5 870

•  Доска для игры Реверси  97 070

•  Графические эффекты  7 201

•  Рисование по маске  6 502

•  Перетаскивание изображений  5 367

•  Canvas Drawing  5 742

•  Рисование Луны  5 455

•  Поворот изображения  4 983

•  Рисование стержней  3 536

•  Paint on Shape  2 805

•  Генератор кроссвордов  3 670

•  Головоломка Paletto  2 959

•  Теорема Монжа об окружностях  3 763

•  Пазл Numbrix  2 481

•  Заборы и коммивояжеры  3 166

•  Игра HIP  2 133

•  Игра Go (Го)  2 068

•  Симулятор лифта  2 439

•  Программа укладки плитки  2 113

•  Генератор лабиринта  2 585

•  Проверка числового ввода  2 264

•  HEX View  2 592

•  Физический маятник  2 202

 
скрыть

Отправляет сообщение по локальной сети (как команда Net Send)



Автор: Num Lock

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Отправляет сообщение по локальной сети (как команда Net Send)

function NetSend(const sTo, sMessage: string): Boolean;
- Отправляет сообщение по локальной сети (делает тоже что и Net Send)
sTo - Кому (Имя пользователя, рабочей группы или компьютера).
Можно использовать '*', чтобы отправить всем.
sMessage - Text сообщения.

Зависимости: Windows, ActiweX
Автор:       Num Lock
Copyright:   Num Lock
Дата:        13 марта 2003 г.
***************************************************** }

function NetSend(const sTo, sMessage: string): Boolean;
type
  PNetMessageBufferSend = ^TNetMessageBufferSend;
  TNetMessageBufferSend = function(
    servername: PWideChar;
    msgname: PWideChar;
    fromname: PWideChar;
    buf: PBYTE;
    buflen: DWORD
    ): Integer; stdcall;
var
  wMessage, wTo: PWideChar;
  i, hLib: Integer;
  NetMessageBufferSend: TNetMessageBufferSend;
begin
  Result := False;
  hLib := LoadLibrary('NetApi32.dll');
  if hlib > 0 then
  try
    @NetMessageBufferSend := GetProcAddress(hLib, 'NetMessageBufferSend');
    if @NetMessageBufferSend <> nil then
    begin
      wMessage := CoTaskMemAlloc((Length(sMessage) + 1) * sizeof(WideChar));
      try
        wTo := CoTaskMemAlloc((Length(sTo) + 1) * sizeof(WideChar));
        try
          StringToWideChar(sMessage, wMessage, Length(sMessage) + 1);
          StringToWideChar(sTo, wTo, Length(sTo) + 1);
          i := NetMessageBufferSend(nil, wTo, nil, PBYTE(wMessage),
            (Length(sMessage) + 1) * sizeof(WideChar));
          Result := i = ERROR_SUCCESS;
          if not Result then
            MessageBox(GetForegroundWindow, 'Сообщение не отправлено.', nil,
              $1010);
        finally
          CoTaskMemFree(wTo);
        end;
      finally
        CoTaskMemFree(wMessage);
      end;
    end
    else
      MessageBox(GetForegroundWindow,
        'Функция NetMessageBufferSend не обнаружена.', nil, $1010);
  finally
    FreeLibrary(hLib);
  end
  else
    MessageBox(GetForegroundWindow, 'NetApi32.dll не загружена.', nil, $1010);
end;

Пример использования:

procedure TForm1.NetSendBtnClick(Sender: PObj);
begin
  if NetSend(combobox1.Text, Memo1.Text) then
  begin
    Memo1.Clear;
    MessageBox(Form.Handle, 'Отправка сообщения.', 'Сообщение отправлено',
      MB_ICONINFORMATION);
  end;
end;




Похожие по теме исходники

Учет посетителей интернет-салона

Автонастройщик сети

Передача видео по сети

Передача удаленного экрана по сети (Remote Screen)

 

Benchmark LineTo

Net Send

Enum Net Interfaces

Чат I Net

 

Netstat

Internet Walker (браузер)

Net Module

NetView 2.3

 

Telnet Chat

Send UDP

DeNiAll Send SMS for Beeline

Windows API (SendMessage)