Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi NetSend mit Delphi (https://www.delphipraxis.net/14003-netsend-mit-delphi.html)

Matze 1. Jan 2004 14:53

Re: NetSend mit Delphi
 
Zitat:

Zitat von MathiasSimmack
Zitat:

Zitat von Matze
Delphi-Quellcode:
ShellExecute(GetDesktopWindow, { ... }

Hat dir das Handle deiner Form was getan, weil du es nicht benutzt? *kicher*

Nö, aber so geht's auch. ;)

Ist
Delphi-Quellcode:
Form1.Handle
besser oder ist das egal?

Luckie 1. Jan 2004 14:54

Re: NetSend mit Delphi
 
So viel ich weiß, soll es nur standardmäßig deaktiviert werden. Die SysAdmins werden Microsoft aber was hustenn, wenn MS das rausschmeißt.

Viech 2. Jan 2004 13:08

Re: NetSend mit Delphi
 
Also der Code von Matze funktioniert bei mir ohne Weiteres, und der von Luckie funktioniert, wenn ich ein paar Leerzeichen einfüge (Thx @MathiasSimmack, und ja mein Nickname ist Viech :mrgreen: ):

Delphi-Quellcode:
var
  sReceiver, sMessage, s : String;
begin
  sReceiver := Edit1.Text;
  sMessage := Edit2.Text;
  s := 'send ' + sReceiver + ' ' + sMessage;
  Shellexecute(Form1.Handle, 'open', 'net', pointer(s), nil, SW_HIDE);
end;
...Hm jetzt wäre noch eine Funktion zum Absender faken schön :roll: ist sowas eigentlich schwer? Also gehören da viele Zeilen Code ins Programm, oder kann man sowas schon mit wenigen Zeilen realisieren?

Luckie 2. Jan 2004 13:13

Re: NetSend mit Delphi
 
Da gehören genauso viele Zeilen ins Programm, wie es benötigt, um NetMessageBufferSend zu implementieren, wie du es in meinem NetSend findest.

Matze 2. Jan 2004 13:36

Re: NetSend mit Delphi
 
Zitat:

Zitat von Viech
...Hm jetzt wäre noch eine Funktion zum Absender faken schön :roll: ist sowas eigentlich schwer? Also gehören da viele Zeilen Code ins Programm, oder kann man sowas schon mit wenigen Zeilen realisieren?

Du wirst es kaum glauben, aber die DP hat eine wunderbare Suchfunktion:

Hier im Forum suchennet send absender
nimm den Thread, den ich verfasst habe und die Sache ist in Ordnung ;)

[Edit]Man muss aber die entsprechenden rechte haben, als "Normal-User" geht das nicht[/Edit]

MathiasSimmack 2. Jan 2004 14:54

Re: NetSend mit Delphi
 
Rechte, @Matze? Welche Rechte? :?

Matze 2. Jan 2004 16:04

Re: NetSend mit Delphi
 
Ich meine, wenn man z.B. unter WinXP (wie ich) als Admin angemeldet bin, dann klappt es, den Dienst zu programmieren/erstellen.
Ist man jedoch ein normaler User, der keine Admin Rechte hat, dann geht der Code aus dem Thread, auf den ich verwiesen habe, nicht.

H4ndy 2. Jan 2004 16:07

Re: NetSend mit Delphi
 
Also ich habs mit dem Code hier aus der DP gemacht:
(Bindet die netapi32.dll ein, also kein Umweg übers cmd)
Funktioniert super :mrgreen:

Delphi-Quellcode:
// NETAPI32.DLL direkt einbinden
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;

// Senden-Knopf
procedure Thaupt.senditClick(Sender: TObject);
var status: shortint;
begin
  status := NetMsgSend('', empf.Text, abs.Text, nachricht.Text);
  if status = 0 then
    ShowMessage('Nachricht versendet!');
end;

Matze 2. Jan 2004 16:14

Re: NetSend mit Delphi
 
Ist das nicht der, aus den ich verwiesen habe? :gruebel:

Probiere den mal ohne Admin-Rechte auszuführen ;)

MrKnogge 2. Jan 2004 16:19

Re: NetSend mit Delphi
 
Zitat:

Zitat von Luckie
So viel ich weiß, soll es nur standardmäßig deaktiviert werden. Die SysAdmins werden Microsoft aber was hustenn, wenn MS das rausschmeißt.

Dies würde ich auch für besser halten, da ich ihn sehr nützlich finde !
Mal abwarten bis das SP2 rauskommt :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 Uhr.
Seite 2 von 3     12 3      

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