Net send in delphi

Hi experts,

I was wondering how I can use a net send in my program. Not a net send through DOS (shellexecute) but one actually using the net DLL. Thanks.
ionetAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

GloomyFriarCommented:
As far as I remember it can be done with using of mailslot.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
amjedmsaCommented:
it seem you dont want to show your app user the dos screen thats simple and also i dont know any free compnent or comercial compnent to do this trik

check this code put it under a button e.g
_____________________________________________________
procedure TForm1.Button1Click(Sender: TObject);
begin


shellexecute(handle,'open',pchar('net'),pchar(' '+'send' +' '+ edit1.text + ' ' + edit2.text),nil,SW_HIDE)

end;
____________________________________________________

and edit1 will be the host name or the ip number of the computer
edit2 will be the message

once u hit the button the message will apear instantly in his computer
and no one will see the command line screen
also this is better than a component this way save's space
0
amjedmsaCommented:
oops forgot to tell dont forget to put shellapi in the uses
0
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

cqhallCommented:
Try This:

function NetSend(dest, source, msg: string): longint;
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;
 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;
0
ionetAuthor Commented:
care to do some explaining instead of just code?
0
DelphianCommented:
Simple:

cqhall - (S)/He uses the API contained on NETAPI.dll on what
the NET SEND is based. It calls the DLL, gets the function
and configure the parameters to finally execute the send.
After it, it unloads the DLL and free all memory.

amjedmsa - S/He uses the shell ShellExecute function available
on shellapi.pas unit on Delphi. It runs the NET.exe executable
like you would make it manually.

If  you accept this answer, please split the points....

[]s Fabricio

 
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.