Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Net send mit Delphi (https://www.delphipraxis.net/5743-net-send-mit-delphi.html)

xpmstos 17. Jun 2003 15:40

:oops: danke für den hinweis, habs jetzt gelesen...

gruß xpmstos

Duffy 17. Jun 2003 17:08

Hallo hummer,
nachfolgender Link wäre auch eine nette Lösung des Problems "net send implementieren"
bye

joe666sa 17. Jun 2003 19:46

Und wo ist in dem Source der Absender?

Duffy 17. Jun 2003 20:23

Hallo joe666sa,
versuchs es doch mal herauszufinden :wink:
bye

BungeeBug 17. Jun 2003 20:32

Hi,
wie wärs denn da mit ?
Delphi-Quellcode:
function NetSend(dest, Source, Msg: string): Longint; overload;
type
  TNetMessageBufferSendFunction = function(servername, msgname, fromname: PWideChar;
    buf: PWideChar; buflen: Cardinal): Longint;
  stdcall;
var
  NetMessageBufferSend: TNetMessageBufferSendFunction;
  SourceWideChar: PWideChar;
  DestWideChar: PWideChar;
  MessagetextWideChar: PWideChar;
  Handle: THandle;
begin
  Handle := LoadLibrary('NETAPI32.DLL');
  if Handle = 0 then
  begin
    Result := GetLastError;
    Exit;
  end;
    @NetMessageBufferSend := GetProcAddress(Handle, 'NetMessageBufferSend');
  if @NetMessageBufferSend = nil then
  begin
    Result := GetLastError;
    Exit;
  end;

  MessagetextWideChar := nil;
  SourceWideChar     := nil;
  DestWideChar       := nil;

  try
    GetMem(MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);
    GetMem(DestWideChar, 20 * SizeOf(WideChar) + 1);
    StringToWideChar(Msg, MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);
    StringToWideChar(Dest, DestWideChar, 20 * SizeOf(WideChar) + 1);

    if Source = '' then
      Result := NetMessageBufferSend(nil, DestWideChar, nil,
        MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1)
    else
    begin
      GetMem(SourceWideChar, 20 * SizeOf(WideChar) + 1);
      StringToWideChar(Source, SourceWideChar, 20 * SizeOf(WideChar) + 1);
      Result := NetMessageBufferSend(nil, DestWideChar, SourceWideChar,
        MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);
      FreeMem(SourceWideChar);
    end;
  finally
    FreeMem(MessagetextWideChar);
    FreeLibrary(Handle);
  end;
end;

function NetSend(Dest, Msg: string): Longint; overload;
begin
  Result := NetSend(Dest, '', Msg);
end;

function NetSend(Msg: string): Longint; overload;
begin
  Result := NetSend('', '', Msg);
end;
MfG BungeeBug

P.S.: Wehe das gibt nen Bomber .... :)

joe666sa 20. Jun 2003 13:08

Ich kapiers immer noch nicht wo der absender ist und wie das funzt. Kann mir das bitte einer erklären.

CalganX 20. Jun 2003 13:11

Der Absender wird automatisch durch Windows vergeben. Der Absendername ist automatisch der Rechnername (Wie beim einfachen net send)!

Chris

Luckie 20. Jun 2003 13:16

Man kann aber auch einen beliebigen mit geben, siehe mein NetSend auf meiner Homepage.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz