Форум: "Сети";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Внизnet send Найти похожие ветки
← →
banderas © (2004-07-18 19:17) [0]Как послать сообщение net send"ом ?
← →
SashOK (2004-07-18 19:33) [1]uses ActiveX;
function Sending(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,
"ErroR", nil, $1010);
finally
FreeLibrary(hLib);
end
else
MessageBox(GetForegroundWindow, "Error", nil, $1010);
end;
**********
Sending("Привет", "COMP_9")
← →
DeadMeat © (2004-07-18 21:08) [2]
> Sending("Привет", "COMP_9")
ИМХО, лучше либо заголовок переделать или в вызове местами поменять параметры...
---
...Death Is Only The Begining...
← →
Депрессирующий Человек (2004-07-19 11:34) [3]Вот примерный код:
function NetMessageBufferSend (servername, msgname, fromname, buf: LPWSTR; buflen: Longint): Longint; stdcall; external "NetApi32.dll";
var sTo, sFrom, sMsg: WideString;
if NetMessageBufferSend(nil, PWideChar(sTo), PWideChar(sFrom), PWideChar(sMsg), (Length(sMsg)+1)*SizeOf(WideChar)) = 0
then MessageBox(0, "Сообщение успешно доставлено.", "Netsend", MB_ICONINFORMATION)
else MessageBox(0, "Ошибка", "Netsend", MB_ICONERROR);
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c