Entwickler-Ecke

Internet / Netzwerk - net send Befehl mit Delphi aber wie ???


codeman130188 - Do 27.03.03 09:39
Titel: net send Befehl mit Delphi aber wie ???
hi
mein vorhaben:
Ein Button + 2 Editfelder Button zum senden;
1. Editfeld = Name an wenn die Nachricjt verschickt wird.
2. Editfeld= Text der Versendet wird.

Aber wie soll ich das anstellen?
Mit Shellexecut?

Bitte ausführlich erklären mit Quellcode möglichst getestet.
Bin noch newbie in sachen programmieren
Danke im voraus.

cu codeman


UTA2000 - Do 27.03.03 11:33

Schau mal hier:

http://www.swissdelphicenter.ch/de/showcode.php?id=617

Sehr gute Seite auch mit ner menge guter Tipps!


GoD_fire - Fr 28.03.03 09:49

ich hab es so gemacht

versuch es einfach indem du eine bat datei erzeugst und vorher schon in sie rein schreibst net send [nachricht]
die nachricht kannst du dann ja aus deinem edit-feld auslesen und einfügen also so hab ich es gemacht !!!! :roll:

ICU GoD_fire


GoD_fire - Fr 28.03.03 09:50

achso ich versuche das auch anders zu lössen wenn mir da jemand helfen kann
mit winsock oder ähnlich

:-)

ICU GoD_fire

sorry wegen spam


BungeeBug - Fr 28.03.03 14:34

dann versuch mal das

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
function NetSend(dest, Source, Msg: string): Longint; overload;
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;
  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
      Result := NetMessageBufferSend(nil, DestWideChar, nil,
        MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1)
    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;

function NetSend(Dest, Msg: string): Longint; overload;
begin
  Result := NetSend(Dest, '', Msg);
end;

function NetSend(Msg: string): Longint; overload;
begin
  Result := NetSend('', '', Msg);
end;


aber nicht das du damit nen Bomber baust ...

MfG BungeeBug

P.S.: Das Thema gabs schon mal ...


UTA2000 - Fr 28.03.03 17:00

Hab ich Ihm nicht genau die Lösung nicht schon gestern Morgen vorgeschlagen?

:D


BungeeBug - Fr 28.03.03 22:58

ka .. ich hab den link nicht angeguckt ... *duck* *weglauf*

MfG BungeeBug

*HinterDerTastaturVersteck*