AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Net Send ohne Absender
Thema durchsuchen
Ansicht
Themen-Optionen

Net Send ohne Absender

Ein Thema von Matze · begonnen am 15. Okt 2003 · letzter Beitrag vom 30. Nov 2004
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Net Send ohne Absender

  Alt 15. Okt 2003, 16:27
Hi!

Ich verwende den Net Send Code:
Delphi-Quellcode:
Send := 'send ' + Edit1.Text + ' ' + Memo1.Text + '';
    ShellExecute (GetDesktopWindow, 'open', 'net.exe', PChar(Send), nil, SW_HIDE);
wobei send ein string ist.

Jetzt ist es ja normal, dass beim PC folgende Meldung kommt:
Zitat:
Nachricht von ... an ...
Kann ich auch den Absender verheimlichen oder wenigstens verändern (anderer Absender-name eingeben)?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 16:36
Solange Du das Standart "net send" nutzt, nein Suche mal im Forum nach Code zur Programmierung des Services

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 16:46
OK, danke.
Das ist mir etwas zu kompliziert, ich möchte ja nur an einen User eine kleine nachricht schicken.
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#4

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 16:51
Hallo Matze,
diese Funktionen sollten Dir helfen
Delphi-Quellcode:
//-----------------------------------------------------------------------//

//#######################################################################//
//## Function NetSend: ##//
//#######################################################################//
//## Datum: Änderung: ##//
//## ====== ========= ##//
//## 10.07.2001 Initial Release ##//
//#######################################################################//
{$HINTS OFF}
function NetSend(Dest, Source, Msg: string): Longint; overload;
type
  TNetMessageBufferSendFunction = function(Servername, Mmsgname, 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
    begin
      Result := NetMessageBufferSend(nil, DestWideChar, nil, MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1)
    end
    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;
{$HINTS ON}
//-----------------------------------------------------------------------//

//#######################################################################//
//## Function NetSend: ##//
//#######################################################################//
//## Datum: Änderung: ##//
//## ====== ========= ##//
//## 10.07.2001 Initial Release ##//
//#######################################################################//
function NetSend(Dest, Msg: string): Longint; overload;
begin
  Result := NetSend(Dest, '', Msg);
end;
//-----------------------------------------------------------------------//

//#######################################################################//
//## Function NetSend: ##//
//#######################################################################//
//## Datum: Änderung: ##//
//## ====== ========= ##//
//## 10.07.2001 Initial Release ##//
//#######################################################################//
function NetSend(Msg: string): Longint; overload;
begin
  Result := NetSend('', '', Msg);
end;
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 16:52
Also das ist doch ganz einfach... Du startest ein neues Delphi-Projekt, kopierst den Code aus folgendem Thread hinein: http://www.delphipraxis.net/internal...ect.php?t=7078

und dann rufst Du die Funktion einfach auf:
  NetMessageBufferSendSubstA('Empfaenger-PC', 'Ist eh egal', 'DerAbsender', 'Die Nachricht'); ......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 16:54
Wow!!
Vielen, vielen Dank sakura!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 16:57
Es geht!!
Nochmals Danke!

PS: Aber du musst schon zugeben, etwas komplizierter ist diese variante schon.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#8

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 16:59
Zitat von Matze:
PS: Aber du musst schon zugeben, etwas komplizierter ist diese variante schon.
Hm, die Suche ist vielleicht kompliziert, aber Copy & Waste ist ja nicht soooo schwer *g*
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 17:01
Ich meinte ja auch den Code.
Ich verstehe dich schon!
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#10

Re: Net Send ohne Absender

  Alt 15. Okt 2003, 19:10
Ich habe den Code von Duffy schon öffters gesehen, und meine das er wohl eine Pascal Translation eines schlechten C/C++ Sources sein muß. Mit Delphi kann man diese Funktion viel eleganter programieren:

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 = nil;
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;
Gruß hagen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz