Forum
Tipps
News
Menu-Icon

Net Send via Visual C#

Hey leute!

ich hab mir jetzt ein kleines heimnetzwerk eingerichtet.
funktioniert alles und läuft prima!

nun will ich in visual c# 2008 ein programm schreiben, das den "net send" befehl vom dos ausführen kann.

der net send befehl an sich funktioniert bereits, nur habe ich noch folgende probleme:
   1.: ich weiß den befehl nicht, wie man einen DOS
       befehl in C# ausführt. in C++ war das ja 
       system("");
   2.: wie schaffe ich es, dass man den computer, den
       man kontakieren will, aus einer liste auswählt
   3.: wie man eine beliebige nachricht an diesen sendet
       weil in C++ geht das leider nicht.
       in der batch programmierung aber schon (ich
       glaube das geht bei .bat iwie über variablen)

das ganze sollte in etwa so aussehen:
  http://img121.imageshack.us/img121/1447/unbenanntzh.png

MFG! & THX!


Antworten zu Net Send via Visual C#:

okay, ich habe gerade einen kleinen code gefunden:

public static void NetSend(string host, string message)
{
   Process proc = new Process();
   
   proc.StartInfo.FileName       = Environment.SystemDirectory + @"\net.exe";
   proc.StartInfo.CreateNoWindow = true;
   proc.StartInfo.Arguments      = "send " + host + " " + message;
   
   proc.Start();
   proc.WaitForExit();
   proc.Close();
}

so weit so gut.
nur weis ich jetzt nicht genau, wo ich diesen code im programm einbauen soll...
soll der hinter dem "senden" - button stehen?

und 2.: die beiden variablen "host" und "message" muss ich doch als sring deklarieren, oder?

MFG

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt
Beim Problem selbst kann ich dir nicht helfen, aber dir schon klar, dass net send nur dann geht, wenn zufällig jemand den Nachrichtendienst aktiviert hat? Den stellt man normalerweise aus und dann läuft die Nachricht ins Leere.

ja, das ist mir bewusst,
darum habe ich auch an jedem pc im netzwerk den dienst aktiviert.

also über die cmd funktioniert es bereits.

ich habe auch bereits ein batch programm geschrieben.

mit dem code:
 @echo off
 set /p IP=Empfängfer:
 set /p TEXT=Nachricht:
 net send %IP% "%TEXT%

das läuft ebenfalls einwandfrei, aber das ganze ins grafische c# zu bringen ist doch eine etwas härtere nuss ;)

 
 

Nur angemerkt: Ich wüsste keinen Grund warum das in C++ nicht funktionieren sollte... 

naja, in c++ (DOS) funktioniert es eh,

aber in c# (Grafisch) weis ich nicht, wie ich es schreiben soll.
die grafische oberfläche ist schon fertig.

man kann bereits die IP des PCs eingeben und einen text eingeben. das wird dann alles in variablen gespeichert.

und dann müsste es beim drücken des "senden" buttons die variablen in den oben gezeigten code übergeben. nur, wo muss ich den code platzieren?
hinter dem senden button oder muss das codeschnippsel als eigenes unterprogr geschrieben werden und das dann beim klicken des senden buttons aufgerufen werden?
oder ganz was anderes?

momentan bin ich echt ratlos  ???

MFG

proc.StartInfo.Arguments      = "send " + host + " " + message;

Host = IP
message = Nachricht
einfach als Strings speichern, statt IP ist auch Rechner/Hostname möglich. 

/e: args, ich fürcht zu schnell gelesen, sorry.
Einfach die Funktion:
NetSend(string, string);
aus deinem "Click Event" heraus aufrufen.
stattdessen, falls sie in der Klasse der Oberfläche deklariert ist, einfach die Member nutzen. 

« Letzte Änderung: 19.07.10, 17:56:41 von Klischeepunk »

ja stimmt, danke!

ich hab am anfang nur nicht gecheckt, dass das ein uprog ist xD

MFG


« programm vor shutdown setzenvb dot net: StreamWriter Funktion »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
DOS
Die Abkürzung DOS steht für "Disk Operating System". Dies ist ein System aus dem Hause Microsoft und war der Vorgänger von Windows. Maus und Multimedia war...

C++
C++ ist eine von der ISO standardisierte Programmiersprache und eine erweiterte Form von C zur objektorientierten, generischen und prozeduralen Programmierung. Weitestgeh...

AppleScript
AppleScript ist eine Programmiersprache von Apple für Skripte und Programme auf Systemebene. Im Gegensatz zu den Unix-Shellscripts, die seit OS X ebenfalls mögl...