hvordan køre jeg et windows program i java?

Tags:    java

Er der nogle der ved hvordan man køre et windows program f.eks. word i java, altså hvordan jeg kan lave et dos kald, hvor jeg vil køre word??




3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
en mulighed er følgende

Runtime run = Runtime.getRuntime();
Process p = run.exec("C:/WINDOWS/explorer.exe"); // dette starter explorer
//denne proces kan man så hente en inputstream fra med følgende linie
final InputStream in = p.getInputStream();
// hvorefter du kan oprette en ny tråd der kan udskrive eventuelle returbeskeder, dette er testet
// med et dosprogram men prøv selv om det virker med windows programmer !!

Thread t1 = new Thread()
{
public void run()
{
byte[] b = new byte[512];
while(running)
{
try
{
int read = in.read(b, 0, b.length);
System.out.print(new String(b, 0, read));
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
};
t1.setDaemon(false);
t1.start();

Held og lykke jeg håber dette kunne bruges



Er der nogle der ved hvordan man køre et windows program f.eks. word i java, altså hvordan jeg kan lave et dos kald, hvor jeg vil køre word??


Et DOS kald til Word - Det bliver vis svært ;-). Mit bud (som ikke er baseret på nogen praktisk erfaring med den konkrete problemstilling) vil umiddelbart være:

1) Anvend JNI (Java Native Interface) til at kalde de relevante rutiner i operativsystemet.

2) Anvend en COM bridge således at du fra Java kan anvende COM (og på den måde aktivere Word).

Der eksisterer muligvis en tredje mulighed:


3) Anvend Internet Explorere som container og lav en html/jsp side der aktiverer Word.


Som nævnt kun nogle ukvalificeret bud, men de kan måske bringe dig videre. Held og lykke med projektet.

m.v.h.

Jørgen




Er der nogle der ved hvordan man køre et windows program f.eks. word i java, altså hvordan jeg kan lave et dos kald, hvor jeg vil køre word??


Jeg har selv fundet ud af hvordan det kan lad sig gøre:

try
{
Runtime.getRuntime().exec("start d:\\\\paradigmaer\\\\færdig~1\\\\fundin~1.dot");
}
catch(Exception e)
{
e.printStackTrace();
}

Men jeg har det problem at det ikke er muligt at bruge lange filnavne!! Så hvis der er nogle der kan svare på hvordan jeg kan bruge lange fil navne eller kan få Java til at lave dem til korte fil navne, så er der point der!



t