# Windows Ausführen öffnen



## Johnny919 (24. Jul 2010)

Hey ich verzweifel grade beim ausführen des "Ausführen" ( das kleine fenster um Processe zu starten)

kann ich das nicht mit 

```
Runtime.getRuntime().exec(link);
```
machen?
wenn doch wieso findert er das "Ausführen" nicht ?
Weis jemand vllt wie ich das angeben muss das er mit das öffnen?
schonmal danke im voraus 
ps: falls ich mich doof ausgedrückt habe ich meine das fenster


----------



## L-ectron-X (24. Jul 2010)

Nein, mit diesem Befehl wird nicht das Ausführen-Fenster von Windows geöffnet. Dann würden sich einige Linux-Benutzer wohl ziemlich erschrecken. 
Mit diesem Befehl ist es möglich einen Befehl ans Betriebssystem weiterzugeben, bspw. um ein externes Programm zu starten.
Um den Ausführen-Dialog von Windows zu öffnen kannst du dich der Klasse Robot und der von Windows dafür vorgesehenen Tastenkombination *[WINDOWS-LOGO]+[R]* bedienen.


----------



## Johnny919 (24. Jul 2010)

hättest du vllt ein Beispiel dafür versteh grade nicht wie ich das benutzen soll ;(


----------



## L-ectron-X (24. Jul 2010)

Ich schreib dir heute abend eins, wenn niemand schneller ist.


----------



## Johnny919 (24. Jul 2010)

ok Danke


----------



## Gast2 (24. Jul 2010)

google 
	
	
	
	





```
java Robot example
```
 liefert doch genug Hilfestellug oder nicht? 


```
public static void main(String[] args) {
        try {
            Robot r = new Robot();
            r.keyPress(KeyEvent.VK_WINDOWS);
            r.keyPress(KeyEvent.VK_R);
            r.keyRelease(KeyEvent.VK_WINDOWS);
            r.keyRelease(KeyEvent.VK_R);
        } catch (AWTException ex) {
            ex.printStackTrace();
        }
    }
```


----------



## slawaweis (24. Jul 2010)

mit der Tastenkombination ist es aber unsicher. Anwender können die Tastenkombinationen umbiegen, abstellen oder auf anderen Plattformen könnte es was ganz anderes sein. Besser ist es, über Runtime aufzurufen:


```
Runtime.getRuntime().exec(System.getenv("SystemRoot")+
                            "\\system32\\rundll32.exe shell32.dll,#61");
```

der obere Befehl gilt aber nur für Windows und 32bit. Habe es auch nur auf XP getestet. Die interne Funktion im WinAPI ist "RunFileDlg" und eigentlich müsste das statt des #61 stehen, klappt aber nicht.

Slawa


----------



## Johnny919 (24. Jul 2010)

bombe das funktioniert einwandfrei!! (beides)
aber mal noch ne kleine frage wenn mein fenster das das "ausführen" aufrufen soll aus AlwaysOnTop ist bekomme ich das fenster nie zu sehen ....(ohne jetzt groß was umzuschieben)!!
besteh die möglichkeit das ich 
1. das fenster davor bekomme ohen das AOT weg zu machen ?
2. kann ich die beiden fenster modal schlaten das wenn das AUsführen geöffnent wurde ich nicht in mein Main fenster rein kann und wenn ja wie ??


----------



## L-ectron-X (25. Jul 2010)

Johnny919 hat gesagt.:


> 1. das fenster davor bekomme ohen das AOT weg zu machen ?


Sprechen wir jetzt von einem Java-Fenster? Dann so:
Versuche es mal mit 
	
	
	
	





```
fenster.toFront();
```
 (Window#toFront())



Johnny919 hat gesagt.:


> 2. kann ich die beiden fenster modal schlaten das wenn das AUsführen geöffnent wurde ich nicht in mein Main fenster rein kann und wenn ja wie ??


Ein modaler Zustand lässt sich mit einem JDialog erreichen.


----------



## Johnny919 (25. Jul 2010)

wie soll ich das den machen wenn ich das fenster nicht erzeuge sondern es nur aufrufe als prozess??


----------



## Gastredner (25. Jul 2010)

Aus Java heraus kannst du nicht auf externe Prozesse bzw. native Programme zugreifen - höchstens über JNI, und das ist dann wiederum plattformabhängig und mit dem zusätzlichen Aufwand einer entsprechenden nativen Implementierung verbunden.


----------



## Johnny919 (26. Jul 2010)

bleibt mir ne andere wahl ?


----------



## MiDniGG (26. Jul 2010)

Naja. Du könntest ja den Ausführen-Dialog einfach nachbauen...

Und dann den eingetragenen Text in den richtigen Ausführen-Dialog schreiben oder über Runtime-Dingens das geschriebene ausführen. Wie weiß ich jetzt nicht auswendig ^^


----------



## L-ectron-X (26. Jul 2010)

MiDniGG hat gesagt.:


> Wie weiß ich jetzt nicht auswendig ^^


Um diese Frage zu klären, kann der TO auch mal die Forumsuche benutzen. Da gibt es schon einige Themen.


----------

