Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi net send mit gefaktem Absender (https://www.delphipraxis.net/21884-net-send-mit-gefaktem-absender.html)

Delphi Star 9. Mai 2004 14:25


net send mit gefaktem Absender
 
Ich möchte ein Programm schreiben mit dem man Net send Nachrichten mit gefaktem Absender verschicken kann. Ich habe zwar schon einen Source-Code gefunden, aber irendetwas ist daran falsch und ich habe keine Ahnung was :gruebel:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen } 
    function TForm1.NetMessageBufferSendSubstA(ServerName, MsgName, FromName, Msg: AnsiString): Boolean;
  public
    { Public-Deklarationen } 
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm} 

function TForm1.NetMessageBufferSendSubstA(ServerName, MsgName, FromName, Msg: AnsiString): Boolean;
{.$DEFINE SYNCHRONOUS} 
const
  szService = '\mailslot\messngr';
  MaxBufLen = $700;
var
  hFile: THandle;
  WrittenBytes: DWORD;
{$IFNDEF SYNCHRONOUS} 
  ovs: OVERLAPPED;
  EventName:String;
{$ENDIF} 
begin
  Result := False;
  if Length(Msg) > MaxBufLen then
    SetLength(Msg, MaxBufLen);
{$IFNDEF SYNCHRONOUS} 
  EventName:='NetSendEvent_'+ServerName;
{$ENDIF} 
  ServerName := '\\' + Servername + szService;
  hFile := CreateFileA( 
    @ServerName[1], GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL or FILE_FLAG_NO_BUFFERING or FILE_FLAG_OVERLAPPED, 0);
  if hFile <> INVALID_HANDLE_VALUE then
  try
    Msg := FromName + #0 + MsgName + #0 + Msg;
{$IFNDEF SYNCHRONOUS} 
    ovs.hEvent := CreateEventA(nil, True, False, @EventName[1]);
    WriteFile(hFile, Pointer(Msg)^, Length(Msg), WrittenBytes, @ovs);
{$ELSE} 
    WriteFile(hFile, Pointer(Msg)^, Length(Msg), WrittenBytes, nil);
{$ENDIF} 
    Result := GetLastError = ERROR_IO_PENDING;
  finally
{$IFNDEF SYNCHRONOUS} 
    if WaitForSingleObject(ovs.hEvent, INFINITE) <> WAIT_TIMEOUT then
{$ENDIF} 
      CloseHandle(hFile);
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
NetMessageBufferSendSubstA('127.0.0.1', 'Ist eh egal', 'DerAbsender', 'Die Nachricht');
end;

end.
Beim Compilen bekomme ich folgende Fehlermeldungen:
  • [Fehler] Unit1.pas(15): Undefinierter Bezeichner: 'Form1'
  • [Fehler] Unit1.pas(27): Bezeichner redefiniert: 'Form1'
  • [Fehler] Unit1.pas(41): '(' erwartet, aber ')' gefunden
  • [Fehler] Unit1.pas(52): '(' erwartet, aber ':=' gefunden
  • [Fehler] Unit1.pas(52): Undefinierter Bezeichner: 'MsgName'
  • [Fehler] Unit1.pas(52): Inkompatible Typen
  • [Fehler] Unit1.pas(54): Operator oder Semikolon fehlt
  • [Fehler] Unit1.pas(55): '(' erwartet, aber ')' gefunden
  • [Fehler] Unit1.pas(55): '(' erwartet, aber ')' gefunden
  • [Fehler] Unit1.pas(55): Anweisung erforderlich, aber Ausdruck vom Typ 'Cardinal' gefunden
  • [Fehler] Unit1.pas(62): Operator oder Semikolon fehlt
  • [Fehler] Unit1.pas(66): '.' erwartet, aber ';' gefunden
  • [Fehler] Unit1.pas(69): Undefinierter Bezeichner: 'NetMessageBufferSendSubstA'
  • [Hinweis] Unit1.pas(15): Das private-Symbol 'Form1' wurde deklariert, aber nie verwendet
  • [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

Matze 9. Mai 2004 14:30

Re: net send mit gefaktem Absender
 
Sorry, aber ich kann dir nur das hier sagen:

http://www.delphi-source.de/tutorials/index.php?cat=1


Ich hoffe, du benutzt dein programm danach anständig. :warn:

Neuni 9. Mai 2004 14:50

Re: net send mit gefaktem Absender
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab vor langer zeit mal n net-send bomber gebaut, also falls du den source haben willst...

PS: Der Code ist ne kathastrophe, aber egal, is schon lange her, und überarbeiten will ich ihn net:D

Matze 9. Mai 2004 14:53

Re: net send mit gefaktem Absender
 
Achja, man braucht Admin-Rechte auf dem Rechner, falls du irgendwo (in der Schule z.B.) sein solltest, wo du keine Admin-Rechte hast, dann geht es nicht. :P

Neuni 9. Mai 2004 14:59

Re: net send mit gefaktem Absender
 
geht das echt nur mit adminrechten? Hmm...mal ausprobieren am dienstag :mrgreen:

Matze 9. Mai 2004 15:01

Re: net send mit gefaktem Absender
 
Zitat:

Zitat von Neuni
geht das echt nur mit adminrechten?

Wenn du es als Dienst einstellst, dann schon.

Zitat:

Zitat von Neuni
Hmm...mal ausprobieren am dienstag :mrgreen:

:? So lange du das nicht irgendwie über's Internet machst. :warn: ;)

Neuni 11. Mai 2004 12:44

Re: net send mit gefaktem Absender
 
@ matze: nein, in der schule...da machts wesendlcih mehr spass, wenn man sieht wie die leute sich ärgern :mrgreen:

Matze 11. Mai 2004 12:45

Re: net send mit gefaktem Absender
 
Cool, danke, hab jetzt dann gleich Informatik, muss ich auch mal testen, aber nur testen. :stupid:

Alexander 11. Mai 2004 12:51

Re: net send mit gefaktem Absender
 
Das ist besonders Lustig, wenn ein Lehrer vor Versammlung etwas am Beamer demostrieren will :mrgreen:

NikoMitDaMacht 11. Mai 2004 17:19

Re: net send mit gefaktem Absender
 
Hab das heute mal gemacht. richtig lustig vorallem wenn der ITG lehrer nbicht weiss was netsend is! :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz