![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сообщение через net send [D7, WinXP]
Aplay © (2004-04-27 20:40:00)Подскажите как отправить сообщение net send'ом. Используя например для ввода имя компа и сообщения компонент Edit.
Столкнулся с тем что в процедуре WinExec('NET SEND 10.1.1.15 Текст сообщения',SW_SHOW); нельзя вставлять стринговский тип. а перевод из стринга в нужный тип ни как не могу найти.
VMcL (2004-04-27 21:14:00) [1]
function NetSend(const AMessage, AToComputer: AnsiString): LongWord;
type
TNetMessageBufferSend = function (ServerName, ToName, FromName: PWideChar;
Buffer: Pointer; BufLen: DWord): LongWord stdcall;
var
NetApi32: HMODULE;
NetMessageBufferSend: TNetMessageBufferSend;
MessageW, ToComputerW: WideString;
begin
Windows.SetLastError(NO_ERROR);
NetApi32 := LoadLibrary('NetApi32.dll');
if NetApi32 <= HINSTANCE_ERROR then
begin
Result := Windows.GetLastError;
Exit;
end;
try
NetMessageBufferSend := GetProcAddress(NetApi32, 'NetMessageBufferSend');
if @NetMessageBufferSend = nil then
begin
Result := ERROR_INVALID_FUNCTION;
Exit;
end;
MessageW := WideString(AMessage);
ToComputerW := WideString(AToComputer);
Result := NetMessageBufferSend(nil, PWideChar(ToComputerW), nil,
PWideChar(MessageW), Length(MessageW) * SizeOf(WideChar));
finally
FreeLibrary(NetApi32);
end;
end;