Delphi-PRAXiS
Seite 1 von 3  1 23      

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


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

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