![]() |
Net Send ohne Absender
Hi!
Ich verwende den Net Send Code:
Delphi-Quellcode:
wobei send ein string ist.
Send := 'send ' + Edit1.Text + ' ' + Memo1.Text + '';
ShellExecute (GetDesktopWindow, 'open', 'net.exe', PChar(Send), nil, SW_HIDE); Jetzt ist es ja normal, dass beim PC folgende Meldung kommt: Zitat:
|
Re: Net Send ohne Absender
Solange Du das Standart "net send" nutzt, nein ;-) Suche mal im Forum nach Code zur Programmierung des Services ;-)
...:cat:... |
Re: Net Send ohne Absender
OK, danke.
Das ist mir etwas zu kompliziert, ich möchte ja nur an einen User eine kleine nachricht schicken. ;) |
Re: Net Send ohne Absender
Hallo Matze,
diese Funktionen sollten Dir helfen
Delphi-Quellcode:
bye
//-----------------------------------------------------------------------//
//#######################################################################// //## 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; |
Re: Net Send ohne Absender
Also das ist doch ganz einfach... Du startest ein neues Delphi-Projekt, kopierst den Code aus folgendem Thread hinein:
![]() und dann rufst Du die Funktion einfach auf:
Delphi-Quellcode:
...:cat:...
NetMessageBufferSendSubstA('Empfaenger-PC', 'Ist eh egal', 'DerAbsender', 'Die Nachricht');
|
Re: Net Send ohne Absender
Wow!! :thumb:
Vielen, vielen Dank sakura! :D |
Re: Net Send ohne Absender
Es geht!!
Nochmals Danke! PS: Aber du musst schon zugeben, etwas komplizierter ist diese variante schon. ;) |
Re: Net Send ohne Absender
Zitat:
|
Re: Net Send ohne Absender
Ich meinte ja auch den Code. ;)
Ich verstehe dich schon! :thumb: |
Re: Net Send ohne Absender
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:
Gruß hagenfunction 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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr. |
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 by Thomas Breitkreuz