Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Net Send ohne Absender (https://www.delphipraxis.net/10302-net-send-ohne-absender.html)

Duffy 16. Okt 2003 18:34

Re: Net Send ohne Absender
 
Hallo Hagen,
bei mir funktioniert '*' auch nicht. Die Firewall blockt da bei mir nichts. Ich sitze nicht vor sonder hinter der Feuerwand.
bye
Claus

negaH 16. Okt 2003 18:49

Re: Net Send ohne Absender
 
Zitat:

bei mir funktioniert '*' auch nicht. Die Firewall blockt da bei mir nichts. Ich sitze nicht vor sonder hinter der Feuerwand
Also bei mir funktioniert das, allerdings muß ich die Firewall deaktivieren und den Messanger Dienst aktivieren. Alle Rechner im LAN bekommen dann diese Meldung. Wenn ich meine Firewall aktiviere so wird dieser Traffic geblockt, auch im LAN.
Ich muß aber dazu sagen das ich die Kerio Firewall extra so konfiguriert habe das nur auf sehr wenigen Ports überhaupt was durchkommt. Alle restlichen Ports habe ich so konfiguriert das nichts rein oder raus kann.

Gruß Hagen

Duffy 16. Okt 2003 18:53

Re: Net Send ohne Absender
 
Hallo Hagen,
unter welchem OS hast du gestestet. Sollte der Messanger da tatsächlich eine Rolle spielen?
bye
Claus

negaH 16. Okt 2003 19:05

Re: Net Send ohne Absender
 
Win2k, und hier ein Auszug aus der SDK Hilfe

Zitat:

A message is a buffer of text data sent to a user or application on the network. To receive a message, a user or application must register a message alias in a computer's table of message names. The following aliases are registered by default: "user", "machine", "domain", or "*" (the current domain of the computer).
* ist also ein gültiger Name und steht für einen Broadcast.

Messagner = Nachrichtendienst, das ist der Dienst der für die Popups verantwortlich ist, und er sollte eigentlich immer deaktiviert sein.

Gruß Hagen

NicoDE 16. Okt 2003 19:08

Re: Net Send ohne Absender
 
Bei wem es nicht funktioniert:
Delphi-Quellcode:
ShowMessage(SysErrorMessage(NetMsgSend('', 'domain*', '', 'nerv')));
Dann kann man wenigstens den Problemkreis einschränken.


Gruß Nico

ps: der Nachrichtendienst ist bei Windows Server 2003 standardmäßig deaktiviert

Luckie 16. Okt 2003 19:28

Re: Net Send ohne Absender
 
Also Hagens Funktion:
Delphi-Quellcode:
function NetMsgSend(const ServerName, MsgName, FromName, Msg: WideString): Integer;

  function WC(const Name: WideString): PWideChar;
  begin
    if Name = '' then Result := nil
      else Result := PWideChar(Name);
  end;

var
  NetLib: THandle;
  NetMessageBufferSend: function(ServerName, MsgName, FromName: PWideChar;
                           Buffer: PWideChar; BufferLen: DWord): Integer; stdcall;
begin
  Result := -1;
  NetLib := LoadLibrary('NETAPI32.DLL');
  if NetLib <> 0 then
  try
    @NetMessageBufferSend := GetProcAddress(NetLib, 'NetMessageBufferSend');
    if Assigned(NetMessageBufferSend) then
      Result := NetMessageBufferSend(WC(ServerName), WC(MsgName), WC(FromName),
                  Pointer(Msg), Length(Msg) * 2);
  finally
    FreeLibrary(NetLib);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  NetMsgSend('', 'hal9000', '', 'hallo');
end;
Funktioniert nei mir nur so. Sobald ich einen Absender eintrage oder den Empfänger als IP geht es nicht mehr.

Gebe ich den Empfänger asl IP an oder geben einen anderen Absender an bekomme ich diese fehlermeldung:
Zitat:

Zitat von Projekt1
---------------------------
Project1
---------------------------
Der Nachrichtenalias konnte auf dem Netzwerk nicht gefunden werden
---------------------------
OK
---------------------------

Und wenn ich als Empfänger ein "*" angebe bekomme ich:
Zitat:

Zitat von Projekt1
---------------------------
Project1
---------------------------
Falscher Parameter
---------------------------
OK
---------------------------


negaH 16. Okt 2003 20:54

Re: Net Send ohne Absender
 
Tja, da kann ich euch auch nicht weiter helfen. An meiner Funktion als solches kann es nicht liegen da sie ja nur eine Microsoft Funktion kapselt. Wenn es also nicht funktioniert dann fragt bei MS nach :)

Gruß Hagen

NicoDE 16. Okt 2003 22:34

Re: Net Send ohne Absender
 
Luckie:
NetMessageBufferSend() verhält sich nicht ganz so wie 'net send'. Broadcasts mittels NMBS kenne ich nur in der Form 'DomainName*'. Um den Absender zu ändern (nichts anderes, als den Code auf dem entfernten Rechner auszuführen) benötigt man umfangreiche Rechte (z.B. Domänen-Admin). IP-Adressen hab ich bisher nie benutzt (kannst ja Präfix '\\' und/oder Suffix '*' probieren...).

ps: NMBS wurde im Laufe der Zeit ständig gefixt/erweitert (so schlug NMBS unter WinNT 3.51 _immer_ fehl, wenn man bei FromName nicht NULL übergab...).

H4ndy 17. Okt 2003 14:19

Re: Net Send ohne Absender
 
Zitat:

Zitat von Duffy
Hallo H4ndy
Code:
NetMsgSend('', '192.168.1.2', '', 'Bingo 1 ...');
Der Empfänger der Nachricht muß gültig sein.
bye

Thx, das funzt jetzt bei mir.
Ich hab "ServerName" in der Funktion als Empfänger gedeutet und nicht MsgName.

negaH 17. Okt 2003 14:54

Re: Net Send ohne Absender
 
Zitat:

Ich hab "ServerName" in der Funktion als Empfänger gedeutet und nicht MsgName.
Jo, darüber habe ich auch gegrübelt. Aber Microsoft hat es so deklariert.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr.
Seite 3 von 5     123 45      

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