Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Frage zu Netsend Funktion! (https://www.delphipraxis.net/123760-frage-zu-netsend-funktion.html)

J Kadison 7. Nov 2008 21:44


Frage zu Netsend Funktion!
 
Hallo Ihr Lieben!!!

Ich hab da mal ne frage :)
Und zwar, ich hab folgenden Quelltext im Internet gefunden:

Delphi-Quellcode:
function SendMessage(const Emetteur, Destinataire, LeMessage : string) : Boolean;
var
  HWNDSlot : THandle;
  Buffer : String;
  lpNumberOfBytesWritten : Cardinal;
begin
  { Init }
  Result := false;
  lpNumberOfBytesWritten := 0;
  { Création du MailSlot }
  HWNDSlot := CreateFile( PChar('\\' + Destinataire + '\MAILSLOT\MESSNGR'),
  GENERIC_WRITE, FILE_SHARE_READ, nil,
  OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 );
  { Définition de la trame }
  Buffer := Emetteur + #0 + Destinataire + #0 + LeMessage + #0;
  try
    result := ( HWNDSlot <> INVALID_HANDLE_VALUE );
    if ( result ) then { Envoi }
    result := WriteFile( HWNDSlot, PChar(Buffer)^, Length(Buffer), lpNumberOfBytesWritten, nil );
  finally
    CloseHandle( HWNDSlot );
  end;
end;

So Damit kann ich jetzt eine Nachricht (wie NetSend) an einen PC schicken, und auch den Absender verändern.
Die Frage ist, was macht der Empfänger PC denn eigentlich mit der eingehenden Nachricht?
Kann man diese auch so umschreiben, dass der EmpfängerPC keine Nachricht mehr aufruft sondern ein Programm öffnet, das dann diese Message von windows ersetzt um dann auch einen Ablauf zu bekommen, den man auhc protokollieren kann.

Also im Prinzip möchte ich ein Programm auf einem PC im Netzwerk ausführen. ohne dass ich ein Programm auf diesem gestartet habe, das die ANchricht entgegennimmt (das einzige ist der Nachrichtendienst)
Ist das Möglich?
Kann ich den oberen QT umschreiben oder gibt's da ne andere lösung?

Viele Grüße
Und hoffentlich danke für zahlreiche Antworten
Joshi

The-X 8. Nov 2008 09:45

Re: Frage zu Netsend Funktion!
 
Hallo erstmal,
ich weiss nicht ob sie's wussten...
aber hier z.B. gibt es einen Beitrag der auch dazu gehört ;)

und was das Programm angeht um selbige Nachrichten zu empfangen habe ich (wie es der Zufall so will)
dazu auch ein Programm geschrieben mit einem kleinen "Adressbuch" :mrgreen:
um die Empfänger per Checklistbox auswählen zu können

Source leg ich auf Anfrage gerne hier offen :)

MfG SystemX

nicodex 9. Nov 2008 20:50

Re: Frage zu Netsend Funktion!
 
Zitat:

Zitat von J Kadison
Die Frage ist, was macht der Empfänger PC denn eigentlich mit der eingehenden Nachricht?

Anzeigen.

Zitat:

Zitat von J Kadison
Kann man diese auch so umschreiben, dass der EmpfängerPC keine Nachricht mehr aufruft sondern ein Programm öffnet, das dann diese Message von windows ersetzt um dann auch einen Ablauf zu bekommen, den man auhc protokollieren kann.

Sehr unwahrscheinlich.

Zitat:

Zitat von J Kadison
Also im Prinzip möchte ich ein Programm auf einem PC im Netzwerk ausführen. ohne dass ich ein Programm auf diesem gestartet habe, das die ANchricht entgegennimmt (das einzige ist der Nachrichtendienst)

Ich nehme an, dass du den Nachrichtendienst auch nicht gestartet hast (sonst wäre die Frage unverständlich, da sie damit bereits beantwortet wäre).

Zitat:

Zitat von J Kadison
oder gibt's da ne andere lösung?

Mache das, was alle Admins in ihren Netzwerken tun. Nutze deine Rechte und verwalte sie.

J Kadison 26. Jan 2009 16:17

Re: Frage zu Netsend Funktion!
 
Moinmoin!

Bin grad mal aus meinem Winterschlaf erwacht xD

sooo jetzt bin ich aber wieder am thema dran.

Das der die anzeigt, dachte ich mir schon irgendwie . . .

Meine Problem ist allerdings folgendes:
nehmen wir mal 2 PC's
PC1 und PC2

über meinen oben genannten QC kann cih von PC1 ne Nachricht an PC2 schicken und diese "ploppt" ja dann bei PC2 auf.
Jetzt war allerdings meine überlegung, PC2 muss diese Nachricht ja irgendwo erhalten haben und da muss ja auch i-wo drin stehen, was er da mit machen soll . . .
Wenn das ja da drin steht, muss ich doch rein theoretisch auch sagen können dass:
PC1 schickt den BEFEHL (also z.B. einen consolenbefehl) dass PC2 die Anwendung "C:\Gerauesch.exe" AUSFÜHRT ohne dass irgend eine andere Anwendung diesen BEFEHL abfängt, anzeigt oder sonst was.


Wie kann man sowas denn erledigen.


Zitat:

Mache das, was alle Admins in ihren Netzwerken tun. Nutze deine Rechte und verwalte sie.
Da is nur ein kleines Problemchen . . . ich bin user und kein admin xD

Luckie 26. Jan 2009 17:00

Re: Frage zu Netsend Funktion!
 
Der Messenger ist nun mal so progarmmiert worden, dass er Text anzeigt und nicht ausführt. Wenn ich dir per ICQ "format C:" schicke wird deine Festplatte ja auch nicht formatiert. Du müsstest den Messenger durch dein eigenes Programm ersetzten, dann kannst du mit dem Text machen was du willst.

Allerdings hege ich hier den Verdacht, dass hier Schindluder getrieben werden soll.

J Kadison 27. Jan 2009 05:45

Re: Frage zu Netsend Funktion!
 
Nein eigentlich wollte ich die "NetSend Funktion über sich selbst abschalten^^ d.h. Dass ich z.B. geschickt hätte "192.168.0.1 BEFEHL: net stop nachrichtendienst" oder halt sowas ähnliches.

Es is für die schule (--> deswegen auch keine Adminrechte), da wir manch ham, die andere zuspammen und wir das gerne unterbinden wollten. Wir haben schon unseren fachleiter für info gefragt ob er eine Möglichkeit kennt, doch dieser meinte nur, wenn wir etwas gutes herausfinden/programmieren könnten wäre das super, weil net send standartmäßig nicht abgeschaltet werden könnte weil i-en progg das bräuchte ... :gruebel:

Gibts da dann ne möglichkeit befehle zu versenden?
Welche?

mkinzler 27. Jan 2009 06:38

Re: Frage zu Netsend Funktion!
 
Ohne Adminrechte keine.

matashen 27. Jan 2009 07:22

Re: Frage zu Netsend Funktion!
 
Wenn ich das richtig mitbekommen habe willst du verhindern das net send ausgeführt werden kann.

Da müsste doch bei windows ein Ereignis ausgelöst werden wenn jemand ein net send startet. Kann man das nicht abfangen, auswerten und bei Bedarf unterbinden - dann natürlich mit Meldung "Net Send wurde unterbunden weil..."


Gruß Matthias

J Kadison 27. Jan 2009 07:46

Re: Frage zu Netsend Funktion!
 
Hm naja ich dachte jetzt in erstel linie daran, dass ich das ganze nicht an meinem PC blockieren möchte sondern gleich beim verursacher, also dass ich dann per netzwerk ein programm bei ihm auf dem PC starte, mir dem ich dann die CMD und den Ausführendialog unterbinde, so dass er glecih garkeine Nachrichten mehr versenden kann . . .

Das programm für das unterbinden ist kein problem, aber wie kann ich denn die Application per netzwerk bei dem anderen starten? (die EXE steht auf dem Schulserver zur verfügung)

matashen 27. Jan 2009 08:03

Re: Frage zu Netsend Funktion!
 
Na du musst deine "Überwachungssoftware" halt bei jedem PC einmal starten, wenn das der Schule zugute kommt dürfte das doch kein Problem sein.
Autostart in der Registry oder so... Da solltest du aber mit dem Lehrer dann sprechen, der dafür zuständig ist. Einen Fernstart kannst du so einfach nicht auslösen, das ging ja sonst richtung Trojaner/Virus.

Gruß Matthias

Luckie 27. Jan 2009 08:31

Re: Frage zu Netsend Funktion!
 
Zitat:

Zitat von J Kadison
Nein eigentlich wollte ich die "NetSend Funktion über sich selbst abschalten^^ d.h. Dass ich z.B. geschickt hätte "192.168.0.1 BEFEHL: net stop nachrichtendienst" oder halt sowas ähnliches.

Noch mal, Netsend kann keine Befehle ausführen. Es ist ja kein Fernwartungsprogramm. Und selbst, wenn das ginge, braucht man Administratorenrechte, um einen Dienst zu stoppen. Da du diese nicht hast, kannst du es vergessen. Du kannst dir nur ein programmschreiben, welches dir das Netsend Fenster automatisch schließt bzw. mittels eines Hooks könntest du CreateWindow(Ex) abfangen und wenn es das Netsend Fenster ist, das Erstellen des Fensters verhindern.

Welches Programm benötigt denn unbedingt die Netsend Funktion?

J Kadison 27. Jan 2009 14:33

Re: Frage zu Netsend Funktion!
 
Moinmoin!

Danke für den hinweis wegend es hooks . . . aaaaber da hab ich HIER shcon ein Theared weil ich mitten drin hängen geblieben bin . . .
http://www.delphipraxis.net/internal...=990120#990120


Also, wenn das jemand gehend bekommt wäre das auch super, aber ich hab die Hoffnung mittlerweile aufgegeben :(

Wegen dem Programm:
Unser Fachleiter hat zwar nichts gesagt, aber ich denke mal, dass es sich hier um unser ü-wachungsprogramm handelt (also MasterEye) :drunken:

LuCSteR 27. Jan 2009 15:00

Re: Frage zu Netsend Funktion!
 
bastel dir doch ne .bat -Datei die sich selbst aufruft und nen netsend losschickt :D am besten an alle rechner, bis das netzwerk kollabiert :D Vll. würde sich dann eurer InfoLehrer stärker um ein ordentliches Arbeitsklima im Unterricht kümmern ;) Zustände gibs

J Kadison 27. Jan 2009 15:26

Re: Frage zu Netsend Funktion!
 
Ich will ja aber garnich, dass es abgeschaltet wird, nur dass MAAAAAANCHE ABGESCHALTEN werden!!!

Das ganze kann man ja auch sinnvoll verwenden .. ..

Luckie 27. Jan 2009 15:27

Re: Frage zu Netsend Funktion!
 
Zitat:

Zitat von J Kadison
Ich will ja aber garnich, dass es abgeschaltet wird, nur dass MAAAAAANCHE ABGESCHALTEN werden!!1

Und die Software, die den Dienst braucht, funktioniert dann nicht mehr?

J Kadison 27. Jan 2009 15:38

Re: Frage zu Netsend Funktion!
 
Weiß ich nicht, aber so wie er gesagt hat, anscheinend nichtmehr . . . kann ich auch net ganz glauben aber naja

Wie gesagt ich wollte es ja nur an manchen PC's blockieren
(also z.B. ausführendialog schließen, wenn er geöfnet wird und das selbe bei der konsole somit hab ich den Rechner ja dann schonmal gesperrt (das ganze zu realisieren is kein prob) müsste allerdings das ganze i-wie von mir aus starten können :( )

Luckie 27. Jan 2009 15:41

Re: Frage zu Netsend Funktion!
 
Du willst es an manchen Rechnern blocken und damit funktioniert das Programm nicht mehr -- zu mindest auf diesen Rechnern richtig?

Zitat:

Zitat von J Kadison
(also z.B. ausführendialog schließen, wenn er geöfnet wird und das selbe bei der konsole somit hab ich den Rechner ja dann schonmal gesperrt (das ganze zu realisieren is kein prob) müsste allerdings das ganze i-wie von mir aus starten können :( )

Also so langsam kommt es mir so vor, als wenn da Unfug getrieben werden soll. Warum sollte man über das Netzwerk eine anderen PC-Benutzer die Konsole und den Ausführendialog sperren wollen? Wenn keine "unerwünschten" programme aus geführt werden sollen, dann soll das der Administrator so einrichten.

J Kadison 27. Jan 2009 15:46

Re: Frage zu Netsend Funktion!
 
Nein!

Jetzt nochmal GANZ von Vorne!!!!

Also Ort:
Schule
Ich:
Normaler User
Grad auf dem ich mich bewege:
noch von Lehrern geduldet

Wir haben die funktion NetSend auf den Schulrechnern aktiviert (muss auch wegen irgendwelchen Programmen aktiviert bleiben!!!)
Ich möchte jetzt einfach nur über netzwerk ein Programm auf einem anderen Rechner starten, das verhindert, dass von DIESEM rechner im Netzwerk
" net send \\PC-NAME *SPAM* "
ausgeführt wird.
Also denke ich wäre es am einfachsten eine EXE auf den Server zu stellen, die den AUSFÜHRENDIALOG und die CONSOLE sperrt.
Dieses Programm sollte aber möglichst von EINEM PC auf einem ANDEREN gestartet werden


:coder:

Luckie 27. Jan 2009 15:49

Re: Frage zu Netsend Funktion!
 
Man kann auch Programme über den Explorer starten. Willst du den auch sperren? Dann wäre der Rechner so gut wie unbraucbar. Man kann sogar Programme über die Adresszeile des Internet Explorer starten. Gib mal "c:\windows\notepad.exe" in der Adresszeile des IE ein. Firefox will die Datei speichern, aber den kann man eventuell auch so einstellen, dass er die Datei ausführt. Dann kann ich noch VBS Makros mit Word schreiben und von dort aus Programme starten. Wenn das Autorun nicht abgeschaltet ist, lege ich eine autorun.inf Datei in das Rootverzeichnes meines USB-Sticks und auf dem USB-Stick ist dann ein Programm, mit dem ich andere Programme starten kann. Das geht natürlich auch mit einer CD, falls USB nicht erlaubt ist.

Fazit, wenn du verhindern willst, dass der Benutzer ein bestimmtes Programm nicht ausführen können soll, dann musst du verhindern, dass er den Rechner einschaltet. Oder eine entsprechende Kiosk-Software installieren, die wirklich den Rechner so kastriert, dass nur noch erlaubte Programme ausgeführt werden können/dürfen. So was gibt es bei MS für XP zum Download.

Aber warum stoppt der Administrator den Dienst nicht bei den Rechnern? Denn überall muss der Dienst ja anscheinedn nicht laufen, sonst dürftest du ihn ja nicht einfach so stoppen wollen dürfen.

J Kadison 27. Jan 2009 15:57

Re: Frage zu Netsend Funktion!
 
Wie willst du das denn bitteschön über den Explorer starten? (okay haste schon bearbeitet)

wenn net mach ich en hook, der bei der zeichenfolge "net send" das aktuelle fenster schließt ...
und außerdem unsre anderen leuts in info sind auch net die hellsten ...

Luckie 27. Jan 2009 16:00

Re: Frage zu Netsend Funktion!
 
Zitat:

Zitat von J Kadison
Wie willst du das denn bitteschön über den Explorer starten? (okay haste schon bearbeitet)

[Win] + [E] zur Not, wenn keine Verknüpfung auf dem Desktop liegt.

J Kadison 27. Jan 2009 16:07

Re: Frage zu Netsend Funktion!
 
Ja schön und gut aber starte doch mal en "net send" übern explorer, bei mir geht das NET !!!
Gut okay über ne verknüpfung oder ne batch geht's noch aber die, die in der klasse hocken, wissen weder, was ne verknüpfung is noch was ne Batch is ^^ :mrgreen:


Von daher .... mal bitte wieder zum eigentlichen Thema zurück (anwendung über netzwerk starten)

Luckie 27. Jan 2009 16:14

Re: Frage zu Netsend Funktion!
 
Zitat:

Zitat von J Kadison
Ja schön und gut aber starte doch mal en "net send" übern explorer, bei mir geht das NET !!!
Gut okay über ne verknüpfung oder ne batch geht's noch aber die, die in der klasse hocken, wissen weder, was ne verknüpfung is noch was ne Batch is ^^ :mrgreen:

Aber sie könen ein Programm über die Konsole mit dem Eintippen von mehreren Paramtern starten?

Zitat:

Von daher .... mal bitte wieder zum eigentlichen Thema zurück (anwendung über netzwerk starten)
Ich bin beim Thema. Nur hast du jetzt ein neues angefangen: "anwendung über netzwerk starten". Dazu solltest du einen neuen Thread auf machen.

J Kadison 27. Jan 2009 16:19

Re: Frage zu Netsend Funktion!
 
Zitat:

Ich bin beim Thema. Nur hast du jetzt ein neues angefangen: "anwendung über netzwerk starten".
hmmm . . . .
. . . . . . .
. . . . . . .
sch***
. . . . . . .
. . . . . . .





Zitat:

Aber sie könen ein Programm über die Konsole mit dem Eintippen von mehreren Paramtern starten?
Ich mein, mit folgemden zettel als hilfe (den einige haben) kann das JEEEEEDER!!!!!:

1. <WinTaste> + <R>
2. "Net send B325-" PC-Nummer (hier bitte nummer einfügen) und dann leerzeichen + Nachricht


Also sorry aber ich mein, solche leuts wissen warscheinl noch net mal, was ne konsole is . . .

Also damit ICH jetzt nochmal aufs thema zurück komm.
Fazit:
ÜBER NET SEND ist es nicht möglich einen BEFEL auf einem anderen PC auszuführen???
oder irr ich mich da?

Luckie 27. Jan 2009 16:24

Re: Frage zu Netsend Funktion!
 
Zitat:

Zitat von J Kadison
ÜBER NET SEND ist es nicht möglich einen BEFEL auf einem anderen PC auszuführen???
oder irr ich mich da?

Ja. Und das haben wir dir schon im ersten Posting gesagt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.

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