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;
ZnVuY3Rpb24gTmV0U2VuZChjb25zdCBzVG8sIHNNZXNzYWdlOiBzdHJpbmcpOiBCb29sZWFuOwp0eXBlCiAgUE5ldE1lc3NhZ2VCdWZmZXJTZW5kID0gXlROZXRNZXNzYWdlQnVmZmVyU2VuZDsKICBUTmV0TWVzc2FnZUJ1ZmZlclNlbmQgPSBmdW5jdGlvbigKICAgIHNlcnZlcm5hbWU6IFBXaWRlQ2hhcjsKICAgIG1zZ25hbWU6IFBXaWRlQ2hhcjsKICAgIGZyb21uYW1lOiBQV2lkZUNoYXI7CiAgICBidWY6IFBCWVRFOwogICAgYnVmbGVuOiBEV09SRAogICAgKTogSW50ZWdlcjsgc3RkY2FsbDsKdmFyCiAgd01lc3NhZ2UsIHdUbzogUFdpZGVDaGFyOwogIGksIGhMaWI6IEludGVnZXI7CiAgTmV0TWVzc2FnZUJ1ZmZlclNlbmQ6IFROZXRNZXNzYWdlQnVmZmVyU2VuZDsKYmVnaW4KICBSZXN1bHQgOj0gRmFsc2U7CiAgaExpYiA6PSBMb2FkTGlicmFyeSgnTmV0QXBpMzIuZGxsJyk7CiAgaWYgaGxpYiA+IDAgdGhlbgogIHRyeQogICAgQE5ldE1lc3NhZ2VCdWZmZXJTZW5kIDo9IEdldFByb2NBZGRyZXNzKGhMaWIsICdOZXRNZXNzYWdlQnVmZmVyU2VuZCcpOwogICAgaWYgQE5ldE1lc3NhZ2VCdWZmZXJTZW5kIDw+IG5pbCB0aGVuCiAgICBiZWdpbgogICAgICB3TWVzc2FnZSA6PSBDb1Rhc2tNZW1BbGxvYygoTGVuZ3RoKHNNZXNzYWdlKSArIDEpICogc2l6ZW9mKFdpZGVDaGFyKSk7CiAgICAgIHRyeQogICAgICAgIHdUbyA6PSBDb1Rhc2tNZW1BbGxvYygoTGVuZ3RoKHNUbykgKyAxKSAqIHNpemVvZihXaWRlQ2hhcikpOwogICAgICAgIHRyeQogICAgICAgICAgU3RyaW5nVG9XaWRlQ2hhcihzTWVzc2FnZSwgd01lc3NhZ2UsIExlbmd0aChzTWVzc2FnZSkgKyAxKTsKICAgICAgICAgIFN0cmluZ1RvV2lkZUNoYXIoc1RvLCB3VG8sIExlbmd0aChzVG8pICsgMSk7CiAgICAgICAgICBpIDo9IE5ldE1lc3NhZ2VCdWZmZXJTZW5kKG5pbCwgd1RvLCBuaWwsIFBCWVRFKHdNZXNzYWdlKSwKICAgICAgICAgICAgKExlbmd0aChzTWVzc2FnZSkgKyAxKSAqIHNpemVvZihXaWRlQ2hhcikpOwogICAgICAgICAgUmVzdWx0IDo9IGkgPSBFUlJPUl9TVUNDRVNTOwogICAgICAgICAgaWYgbm90IFJlc3VsdCB0aGVuCiAgICAgICAgICAgIE1lc3NhZ2VCb3goR2V0Rm9yZWdyb3VuZFdpbmRvdywgJ9Ch0L7QvtCx0YnQtdC90LjQtSDQvdC1INC+0YLQv9GA0LDQstC70LXQvdC+LicsIG5pbCwKICAgICAgICAgICAgICAkMTAxMCk7CiAgICAgICAgZmluYWxseQogICAgICAgICAgQ29UYXNrTWVtRnJlZSh3VG8pOwogICAgICAgIGVuZDsKICAgICAgZmluYWxseQogICAgICAgIENvVGFza01lbUZyZWUod01lc3NhZ2UpOwogICAgICBlbmQ7CiAgICBlbmQKICAgIGVsc2UKICAgICAgTWVzc2FnZUJveChHZXRGb3JlZ3JvdW5kV2luZG93LAogICAgICAgICfQpNGD0L3QutGG0LjRjyBOZXRNZXNzYWdlQnVmZmVyU2VuZCDQvdC1INC+0LHQvdCw0YDRg9C20LXQvdCwLicsIG5pbCwgJDEwMTApOwogIGZpbmFsbHkKICAgIEZyZWVMaWJyYXJ5KGhMaWIpOwogIGVuZAogIGVsc2UKICAgIE1lc3NhZ2VCb3goR2V0Rm9yZWdyb3VuZFdpbmRvdywgJ05ldEFwaTMyLmRsbCDQvdC1INC30LDQs9GA0YPQttC10L3QsC4nLCBuaWwsICQxMDEwKTsKZW5kOw==
compilation info
prog.d(1): Declaration expected, not 'function'
prog.d(3): expression expected, not '^'
prog.d(3): semicolon expected, not 'TNetMessageBufferSend'
prog.d(3): no identifier for declarator TNetMessageBufferSend
prog.d(4): no identifier for declarator TNetMessageBufferSend
prog.d(5): found ':' when expecting ')'
prog.d(5): semicolon expected following function declaration
prog.d(5): semicolon expected, not 'PWideChar'
prog.d(5): no identifier for declarator PWideChar
prog.d(6): no identifier for declarator msgname
prog.d(6): semicolon expected, not ':'
prog.d(6): Declaration expected, not ':'
prog.d(7): no identifier for declarator fromname
prog.d(7): semicolon expected, not ':'
prog.d(7): Declaration expected, not ':'
prog.d(8): no identifier for declarator buf
prog.d(8): semicolon expected, not ':'
prog.d(8): Declaration expected, not ':'
prog.d(9): no identifier for declarator buflen
prog.d(9): semicolon expected, not ':'
prog.d(9): Declaration expected, not ':'
stdout