Netsend unter Win ME

Danielsun

Cadet 4th Year
Registriert
Apr. 2003
Beiträge
83
hi!

ich wollte fragen wie man dren netsend befehl unter WinME macht???

unter XP weiß ichs aber ME ... KP?

bitte helfen ;)
 
Also wenn du delphi hast erstell dir folgendes Programm...
Wennd as ned geht, kann ME kein netsend...

aber warum soll "net send ip "text"" nicht gehn?

Code:
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; 

// Example: 

procedure TForm1.Button1Click(Sender: TObject); 
const 
  NERR_BASE = 2100; 
  NERR_NameNotFound = NERR_BASE + 173; 
  NERR_NetworkError = NERR_BASE + 36; 
  NERR_Success = 0; 
var 
  Res: Longint; 
  sMsg: string; 
begin 
  Res := NetSend('LoginName', 'Your Message...'); 
  case Res of 
    ERROR_ACCESS_DENIED: sMsg := 'user does not have access to the requested information.'; 
    ERROR_INVALID_PARAMETER: sMsg := 'The specified parameter is invalid.'; 
    ERROR_NOT_SUPPORTED: sMsg := 'This network request is not supported.'; 
    NERR_NameNotFound: sMsg := 'The user name could not be found.'; 
    NERR_NetworkError: sMsg := 'A general failure occurred in the network hardware.'; 
    NERR_Success: sMsg := 'Message sent!'; 
  end; 
  ShowMessage(sMsg); 
end;
 
ich vergaß, der Quellcode liegt ja offen...
 
Für Windows 95 und 98 (SE) gab es noch ein Programm, dass heist WinPopup. Die Funktion ist die selbe nur in eine GUI gepackt.
Villeicht ist das Programm bei Windows Me noch vorhanden (winpopup.exe suchen) oder du fragst einen netten Windows 9x Benutzer, ober er dir die Datei kopiert. Müsste eigendlich noch funktionieren... Sicher bin ich mir aber nicht.
 
Wenn ME "net send" unterstützt, sollte es die gleiche Befehlsstruktur haben, wie XP. Einfach in die Dosbox wechseln und es versuchen mit "net /?", dann bekommst Du alle Parameter aufgeführt.
 
Zurück
Oben