高分请教JAVA调用Windows API的问题,来调用help文件!!! hehe,Java里面可以调用windows API吗?反正我是不知道。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要不你就直接调用帮助文件try{Process run = Runtime.getRuntime().exec("AdvanceOutLook.exe" );} catch(IOException ioe){}要不你就用JNI业实现。直接调用Windows API是不行的。 Runtime.getRuntime().exec();或者你用jni,在dll中调用api! 对,Runtime.getRuntime().exec(param);其中param就是你要用的命令.大概相当于ShellExecute的功能. 请再说得具体一点好吗?例如我现在想运行c:\HCW.HLP文件,用如下语句:try{ Process run = Runtime.getRuntime().exec("c:\HCW.HLP");}catch(Exception ioe){};为何编译不能通过,应该如何来写才能调用并运行c:\HCW.HLP文件!谢谢! private void runHelp(String fileName){ try{ Runtime rt=Runtime.getRuntime(); String s=cnBean.getcodebase()+"/docs/"+fileName; s=s.substring(6,s.length() ) ; // System.out.println(s); if (myPro == null) { myPro = rt.exec("hh.exe " +s); } else if (currentHelpFile != fileName){ myPro.destroy(); myPro = rt.exec("hh.exe " +s); } currentHelpFile = fileName; }catch(Exception ex){ex.printStackTrace();} } 呵呵,这是我们的产品中调用的一个使用windows帮助的东东,重点在于myPro = rt.exec("hh.exe " +s); 句,hh.exe是windows打开帮助文件的应用程序,明白了吗? 希望对你有帮助! java是不可以调windows的API的,除非你用C#,但是JAVA有自己的API private void runHelp(String fileName){ try{ Runtime rt=Runtime.getRuntime(); String s=cnBean.getcodebase()+"/docs/"+fileName; s=s.substring(6,s.length() ) ; // System.out.println(s); if (myPro == null) { myPro = rt.exec("hh.exe " +s); } else if (currentHelpFile != fileName){ myPro.destroy(); myPro = rt.exec("hh.exe " +s); } currentHelpFile = fileName; }catch(Exception ex){ex.printStackTrace();} }这是一个例子,运行正常,希望对你有帮助。重点在于“rt.exec("hh.exe " +s);” 其中的hh.exe是windows用来打开帮助文件的应用程序! :) phoenix_zd(天马行空),你的方法好像同gja106(中文字符)的解决方法没有本质区别啊!我还是不知道具体如何打开c:\HCW.HLP文件,能说得详细一点吗?万分感谢! try { Runtime rt=Runtime.getRuntime(); String [] cmd; ////要执行的命令 cmd[0] = "winhelp.exe"; /// 命令的参数 c:\HCW.HLP cmd[1] = fileName; rt.exec(cmd); }catch(Exception ex){ex.printStackTrace();} 谢谢!给分!继续关注!再问个问题:winhelp文件为何不能打开.hlp文件,我用的是2000server,总是提示“此文件不是Windows帮助文件”,“帮助的更新版本需要来读取此帮助文件”!这是为何?请赐教! 唉,你就只要把我的“myPro = rt.exec("hh.exe " +s);”中的s替换成你的目标文件不就行了,真是搞不懂你了! :) phoenix_zd(天马行空) :万分感谢,我还以为你的这个函数是杜撰的呢!谢了! 求程序运行结果 关于glasspane的使用问题 帮忙解释下这个正则 java非阻塞socket缓冲区问题 为什么用FileReader读取.doc文档会出现乱码?如何解决? 有关容器。 如何判断char变量是否为空 java中什么时侯用布局管理器,怎样用好,我在jb中经常设成null.... ★ ★ ★ 谁能提供一个打印文件内容的程序示例让我看看(参与有分!!!) 用JDBC—ODBC桥连接数据库时,加载JDBC驱动程序的语句是Class.forName(),现在请教其参数是什么?请各位大虾指教! 菜鸟问题!请各位看看吧! 在Jbuilder5中为什么不能输入全角的符号?如“!”
try{Process run = Runtime.getRuntime().exec("AdvanceOutLook.exe" );}
catch(IOException ioe){}
要不你就用JNI业实现。
直接调用Windows API是不行的。
或者你用jni,在dll中调用api!
其中param就是你要用的命令.
大概相当于ShellExecute的功能.
例如我现在想运行c:\HCW.HLP文件,用如下语句:
try{ Process run = Runtime.getRuntime().exec("c:\HCW.HLP");}
catch(Exception ioe){};
为何编译不能通过,应该如何来写才能调用并运行c:\HCW.HLP文件!
谢谢!
try{
Runtime rt=Runtime.getRuntime();
String s=cnBean.getcodebase()+"/docs/"+fileName;
s=s.substring(6,s.length() ) ;
// System.out.println(s);
if (myPro == null) {
myPro = rt.exec("hh.exe " +s);
}
else if (currentHelpFile != fileName){
myPro.destroy();
myPro = rt.exec("hh.exe " +s);
}
currentHelpFile = fileName;
}catch(Exception ex){ex.printStackTrace();}
} 呵呵,这是我们的产品中调用的一个使用windows帮助的东东,重点在于
myPro = rt.exec("hh.exe " +s); 句,hh.exe是windows打开帮助文件的应用程序,明白了吗? 希望对你有帮助!
try{
Runtime rt=Runtime.getRuntime();
String s=cnBean.getcodebase()+"/docs/"+fileName;
s=s.substring(6,s.length() ) ;
// System.out.println(s);
if (myPro == null) {
myPro = rt.exec("hh.exe " +s);
}
else if (currentHelpFile != fileName){
myPro.destroy();
myPro = rt.exec("hh.exe " +s);
}
currentHelpFile = fileName;
}catch(Exception ex){ex.printStackTrace();}
}
这是一个例子,运行正常,希望对你有帮助。重点在于“rt.exec("hh.exe " +s);” 其中的hh.exe是windows用来打开帮助文件的应用程序! :)
Runtime rt=Runtime.getRuntime();
String [] cmd;
////要执行的命令
cmd[0] = "winhelp.exe";
/// 命令的参数 c:\HCW.HLP
cmd[1] = fileName;
rt.exec(cmd); }catch(Exception ex){ex.printStackTrace();}
这是为何?请赐教!
万分感谢,我还以为你的这个函数是杜撰的呢!谢了!