# NetSend



## Lionhead (13. Mai 2004)

Iszt e smöglich mit Java den Befehl NetSend ausführen?
Wenn ja wie würde dieser lauten? Kann mir da jemand helfen?

mfg Lionhead


----------



## L-ectron-X (13. Mai 2004)

Ganz allgemein kann man externe Programme in etwa so aufrufen:

```
String befehl = "cmd /c  MeinProgramm.exe";
Runtime.getRuntime().exec(befehl);
```
Das ganze muss in ein try-catch-Konstrukt für eine java.io.IOException.
Die Parameter von net send suchst Du Dir bitte selbst heraus.


----------



## Lionhead (13. Mai 2004)

Erstma danke, wo kann ich diesen Befehl finden kannst du mir einen Tipp geben?

mfg Lionhead


----------



## L-ectron-X (13. Mai 2004)

Öffne mal die Eingabeaufforderung.
Gib dann folgendes ein:

```
net send ?
```
Dann wird Dir eine kurze Verwendung für diesen Befehl angezeigt.
Ansonsten: Ein wenig googeln. :wink:


----------



## Illuvatar (14. Mai 2004)

Der Befehl lautet:


> net send Computername "Nachricht"



Ich hab auch mal ein Programm geschrieben, dass das macht  

Edit: Beitrag 333


----------



## Lionhead (14. Mai 2004)

Danke.

@Illuvatar

Was meinst du mir Beitrag 333?

mfg Lionhead


----------



## Illuvatar (14. Mai 2004)

Das war mein 333. Beitrag, ist mir aufgefallen


----------



## Lionhead (14. Mai 2004)

Achso .

So habe es ma eingebaut.


```
import java.applet.*;


public class NetSend extends Applet
{

public void init()
{
	String befehl = "cmd /c  MeinProgramm.exe";
	Runtime.getRuntime().exec(net send xxx.xxx.xxx.xxx "Nachricht");
}
	
}
```

Das send hinter dem runtime.get..... wird mir als Fehler angestrichen. Muss ich noch irgend welche sachen importieren um diesen Befehl auszführen? Oder an wa sliegt der Fehler?

mfg Lionhead


----------



## Roar (14. Mai 2004)

exec() erwartet einen String als parameter


----------



## Lionhead (14. Mai 2004)

So eigentlich funktioniert nun alles doch irgendwie auch nicht. Es wird keine Nachricht verschickt.


```
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;


public class NetSend extends Applet implements ActionListener
{
	Button send;
	TextField iP;

public void init()
{
	
	send=new Button("Send");
	iP=new TextField("IP",15);
	
	add(iP);
	add(send);
	
	send.addActionListener(this);
	
	
}


public void actionPerformed(ActionEvent event)
	{
		// Bei Reset alle Felder leeren und Gewinner-reset
		if (event.getSource()==send)
		{
			String befehl = "cmd /c  MeinProgramm.exe";
				try {
					Runtime.getRuntime().exec("cmd /c net send 192.168.0.80 Nachricht");
				} catch (IOException e) {
					e.printStackTrace();
				}
		}	
	}

	
}
```

das Textfeld ist derzeit noch nicht eingebaut da es ersteinmal so funktionieren soll.
Hat einer eine Lösung?

mfg Lionhead


----------



## Guest (14. Mai 2004)

Wenn Du es schon so machst, dann so:

```
Runtime.getRuntime().exec(" net send xxx.xxx.xxx.xxx \"Nachricht\" ");
```
Es ist sauberer und flexibler, wenn Du den String aus den einzelnen Teilen des gesamten Befehls zusammen setzt.


----------



## L-ectron-X (14. Mai 2004)

Sorry, Login vergessen. :roll:


----------



## Lionhead (14. Mai 2004)

Trotz dieser Änderung kann ich nichts senden :-/.

mfg Lionhead


----------



## bygones (14. Mai 2004)

wobei im chat sich herausgestellt hat, dass es nicht am java programm liegt sondern es geht bei ihm auch nicht über die Konsole !


----------



## Lionhead (14. Mai 2004)

Woran kann es liegen, das es in der Konsole nicht geht?

Ok hab den Fehler gefunden.

mfg Lionhead


----------



## Lionhead (14. Mai 2004)

Hab noch eine frage, wenn ich jetz die Ip über ein Textfeld eingebe muss ich dieses ja auslesen und dann in den Befehl mit einbauen, doch so wie ich es unten ma gemacht habe kann es ja nicht funktionieren. Wie kann ich das lösen?


```
Runtime.getRuntime().exec(" net send "+"x"+" \"Nachricht1\" ");
```

x ist der Inhalt des Textfeldes.

mfg Lionhead


----------



## L-ectron-X (14. Mai 2004)

Ich habe mir das mal etwas genauer angesehen, bin aber zu keinem wirklich richtig befriedigendem Ergebnis gekommen.

```
String nachricht = "Meine Nachricht";
Runtime.getRuntime().exec("cmd /c net send Benutzername "+nachricht);
```
...bewirkt den Aufruf von net send und Senden der Nachricht an lokal angemeldete Benutzer.
Zum Test kannst Du ja mal eine Nachricht an Dich selbst schicken.
Wichtig: Der Windows Nachrichtendienst muss aktiviert sein.
Wie man Nachrichten in ein/e Netzwerk/Domain schickt, habe ich noch nicht schlüssig finden können.
Auf http://support.microsoft.com/default.aspx?scid=kb;de;168893 findest Du einige Informationen dazu.


----------



## Lionhead (14. Mai 2004)

Ok THX war sehr hilfreich, hat funktioniert.

mfg Lionhead


----------



## Reality (15. Mai 2004)

Hi,
kleine Frage: Für was steht das "/c"? Laufwerk C? Sagt es dem Java-Programm, dass es dort das Prog CMD findet?

Liebe Grüße
Reality


----------



## L-ectron-X (15. Mai 2004)

Nein der Parameter führt dazu, dass nach der Ausführung des als String übergebenen Befehls cmd.exe beendet wird.


----------



## Illuvatar (15. Mai 2004)

Aber eigentlich müsste man das ganze gar nicht über cmd.exe starten, exec ("net send...") reicht auch schon.

Btw: Den Nachrichtendienst kannst du auf dem eigenen Computer über "net start messenger" starten.


----------



## superauto (14. Feb 2006)

Hi Leute
schickt mir mal bitte die datein rüber meine email ist pschup@web.de wenn
möglich baut mir noch net start messenger ein
Hilft mir sehr und wenn man das programm zu macht net stop messenger ein

Schon mal danke


----------



## lin (14. Feb 2006)

huh? Was?


----------



## Illuvatar (14. Feb 2006)

Was für Dateien soll ich/wir dir schicken? Und wieso sollte jemand da für dich noch irgendwas einbauen? Sind das irgendwelche Hausaufgaben, die du nicht selber machen willst?


----------



## lin (14. Feb 2006)

also nach Haufaufgaben sieht das irgendwie nicht aus...
eher so der Stil: Hej jungs, programmiert mir doch mal eben schnell n Editor der das und das kann und bla blupp... Danke schon mal... :wink:


----------



## MPW (14. Feb 2006)

hm...aus einem Applet duerfte das sowieso schonmal nicht gehen....


----------



## superauto (15. Feb 2006)

:lol: Sorry habe schon selber geschaft  :lol:


----------

