Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ **** 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 г. ***************************************************** } functionNetSend(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
;
Пример использования:
procedureTForm1.NetSendBtnClick(Sender: PObj); begin
if
NetSend(combobox1.Text, Memo1.Text) then
begin
Memo1.Clear; MessageBox(Form.Handle, 'Отправка сообщения.', 'Сообщение отправлено', MB_ICONINFORMATION); end
; end
;