Hab einen Button in einer Swing-Anwendung. Wenn ich draufklicke, will
ich Wordpad starten.
Beim Ausführen von folgendem Code krieg ich den Stacktrace dannach :
Runtime r=Runtime.getRuntime () ;
try { r.exec ("wordpad") ; }
catch (java.io.IOException e) { e.printStackTrace () ; }
java.io.IOException: CreateProcess: wordpad error=0
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Unknown Source)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at FilterFrame.actionPerformed(FilterFrame.java:29)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown
Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Was macht hier Probleme ?
mfG Markus
Öffne doch mal ein DOS-Fenster und gib nur mal so wordpad+<ENTER>
ein. Dann siehst Du was Probleme macht. (wordpad ist nicht im
Standard-Suchpfad enthalten)
A.G.
Ps: es wäre zu schön wenn manch einer auch mal selber was probiert...
> > Hab einen Button in einer Swing-Anwendung. Wenn ich draufklicke, will
> > ich Wordpad starten.
> >
> Öffne doch mal ein DOS-Fenster und gib nur mal so wordpad+<ENTER>
> ein. Dann siehst Du was Probleme macht. (wordpad ist nicht im
> Standard-Suchpfad enthalten)
Eine andere Möglichkeit ist die Nutzung des Befehles "start" auf der
Konsole:
start wordpad
Dann klappt es mit dem Start, ohne dass wordpad im Pfad liegen muss.
Wieso das so funktioniert hab' ich nicht nachgelesen ;-)
--
Peter Karp
schneller und besser editieren unter Windows
http://www.karpfenteich.net
Bei E-Mails bitte das Wort "Kindergarten" in den Betreff aufnehmen, um den Spam-Filter zu umgehen.
> On Thu, 06 Feb 2003 14:26:24 +0100, Andree Große
> <A.Gr...@deutschepost.de> wrote:
>
>
>>> Hab einen Button in einer Swing-Anwendung. Wenn ich draufklicke, will
>>> ich Wordpad starten.
>>>
>
>> Öffne doch mal ein DOS-Fenster und gib nur mal so wordpad+<ENTER>
>> ein. Dann siehst Du was Probleme macht. (wordpad ist nicht im
>> Standard-Suchpfad enthalten)
>
> Eine andere Möglichkeit ist die Nutzung des Befehles "start" auf der
> Konsole:
>
> start wordpad
>
> Dann klappt es mit dem Start, ohne dass wordpad im Pfad liegen muss.
> Wieso das so funktioniert hab' ich nicht nachgelesen ;-)
Weil es Registry-Einträge mit Well-Known Anwendungen gibt, die nicht
im PATH liegen müssen. Deswegen kann man Wordpad unter W2K auch mit
"write" starten - das ist ein Shortcut auf die Well-Known-Anwendung
wordpad.exe. Allerdings liegt diese meistens sowieso im Pfad
(%SYSTEM32%) und verdeckt den eigentlichen Effekt.
Der Wellknown-Alias befindet sich unter:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
...\App Management\System Programs
Und die Pfade befinden sich in:
...\App Paths
Interessantes Feature, dass die wenigsten kennen. Und man kann netten
Unsinn damit treiben...
Start->Ausführen entspricht dem cmd.exe-Befehl start unter den
NT-Betriebssystemen. Die kleineren Wins (95,98,ME) haben dafür
"start.exe".
Gruß,
Josch.
--
Einige Tags in de.comp.lang.java ( siehe http://www.dclj.de/dcljstart.html )
[TOOLS] - Frage zu einem Java-Tool (IDEs, java.exe, native Compiler)
[VM] - Frage zu virtuelle Maschinen, alles über JREs und Interna (gc())
[MISC] - Alles, was nicht in eine der anderen Rubriken paßt