java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Java Basics - Anfänger-Themen

Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern

Antwort     Ist dieses Thema erledigt?
Themen-Optionen Thema durchsuchen Ansicht
Alt 15.04.2010, 19:02   #1 (permalink)
Neuer Benutzer
Bit
 
Registriert seit: 15.04.2010
Fachbeiträge: 6
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard Window 7 Problem mit Runtime.getRuntime().exec("explorer")

Hallo,

also ich bin schon etwas am verzweifeln...

Ich möchte gerne aus Java herraus die explorer.exe stoppen und dann wieder starten. Um nach dem ändern von Registry Einträgen einen Reboot zu vermeiden.

Dazu verwende ich folgenden Code:

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void refresh2() throws IOException, InterruptedException {
 
        String cmd = "taskkill /f /IM explorer.exe";
        Process p = Runtime.getRuntime().exec(cmd);
 
        BufferedReader lsOut = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line = lsOut.readLine();
        lsOut.close();
        System.out.println(line);
        
        String cmdstart[] = { "cmd.exe","/c", "explorer.exe"};
        Process p2 = Runtime.getRuntime().exec(cmdstart);
            
        BufferedReader lsOut2 = new BufferedReader(new InputStreamReader(p2.getErrorStream()));
        String line2 = lsOut2.readLine();
        System.out.println(line2);
    }

Sooo das funktioniert auch unter WindowXP ganz toll aber unter Win 7 entsteht ein merkwürdiger Effekt. Das Killen funktiniert, allerdings wird dannach lediglich ein Arbeitsplatztfenster geöffnet ohne das die Taskleiste wieder sichtbar wird. Ohne Java, also per .bat oder cmd klappt das auch. Nur die Bat per Java aufzurufen liefert dann wieder das selbe problem.

hier noch die der BATch

exlporer.bat
taskkill /f /IM explorer.exe
explorer.exe

Hab ihr irgendwelche Ideen woran das liegt?
jango.g ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 15.04.2010, 20:23   #2 (permalink)
Stammbenutzer
Viertel Gigabyte
 
Benutzerbild von faetzminator
 
Registriert seit: 05.01.2007
Fachbeiträge: 4.900
Abgegebene Danke: 57
Erhielt 542 Danke für 523 Beiträge
Schon mal String cmdstart = "explorer.exe"; ausprobiert?
__________________
Ich bin keine Signatur, ich headbang hier nur!
faetzminator ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 15.04.2010, 20:46   #3 (permalink)
Neuer Benutzer
Bit
Themenstarter
 
Registriert seit: 15.04.2010
Fachbeiträge: 6
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Jup... hab schon ziemlich viele Möglichkeiten durch.

Ich werd echt verrückt

Danke trotzdem.

Weitere Vorschläge?? ^^
jango.g ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 15.04.2010, 23:00   #4 (permalink)
Neuer Benutzer
Bit
Themenstarter
 
Registriert seit: 15.04.2010
Fachbeiträge: 6
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
JuHu ...


ich hab zwar keine ahnung warum aber mit

Java Code: Quelltext in neuem Fenster öffnen
1
String cmdstart[] = { "cmd.exe", "/c", "start", c:\\windows\\explorer.exe" };

funktioniert es.

Hat jemand ne Erklärung warum?? Also Wichtig ist das der volle Pfad angegeben wird, eigentlich war ich ja der meinung das "explorer" auf diese Datei zeigt. Na ja so gehts jedenfalls.

Hier nochmal der Komplette Code:

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public static void refresh() throws IOException {
        String lineKill = "";
        String lineStart = "";
 
        try {
            String cmd = "taskkill /f /IM explorer.exe";
            Process p = Runtime.getRuntime().exec(cmd);
 
            BufferedReader lsOut = new BufferedReader(new InputStreamReader(p
                    .getInputStream()));
            lineKill = lsOut.readLine();
 
            lsOut.close();
 
            String cmdstart[] = { "cmd.exe", "/c", "start \"\"",
                    "c:\\windows\\explorer.exe" };
            p = Runtime.getRuntime().exec(cmdstart);
 
            BufferedReader lsOut2 = new BufferedReader(new InputStreamReader(p
                    .getErrorStream()));
            lineStart = lsOut2.readLine();
 
            lsOut2.close();
            
        } catch (IOException e) {
            e.printStackTrace();
            throw new IOException(e.getMessage()
                    + "; [taskkill /f /IM explorer.exe]: " + lineKill
                    + "; [cmd.exe /c start \"\" c:\\windows\\explorer.exe]: "
                    + lineStart);
 
        }
    }


EDIT:

Hat doch noch nicht ganz gepasst:

wichtig ist noch solche einen Anweisung (glaube ich jedenfalls)

p.waitFor();

Geändert von jango.g (16.04.2010 um 19:29 Uhr)
jango.g ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 29.08.2012, 18:37   #5 (permalink)
GUEST > SJAAK
Nicht angemeldet
 
Fachbeiträge: n/a
Standard Thank you

AMAZING, had the same problem!!!
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort     Ist dieses Thema erledigt?

Stichworte
explorer , starten , stoppen , windows 7

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
AWS Event Notification Service Sample ausführen... iSun84 Java Basics - Anfänger-Themen 7 24.03.2010 09:50
(SWT) KeyListener Funktionstasten Problem v Ralle v AWT, Swing, JavaFX & SWT 0 17.03.2010 10:30
Axis2 MustUnderstand problem mit Boolean Seb9 SOA 9 18.09.2009 14:31
Problem mit zeitsynchroner Hauptschleife/Threads 0xdeadbeef Spiele- und Multimedia-Programmierung 28 23.02.2006 19:12
login window funktioniert nicht richtig. megachucky Java Basics - Anfänger-Themen 4 28.11.2004 12:20


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de