日期:2014-05-17  浏览次数:21049 次

如何实现:点击网页中按钮调用本机exe文件
本帖最后由 lchcolin 于 2013-06-09 08:42:59 编辑
项目中有一个需求是邮件功能,要求点击浏览器中的一个按钮,就调用本机的Email客户端的exe执行文件。问题是应用部署在服务器中,如果写死了exe的绝对路径,是否就指调用的是服务器中的执行文件了。。。在线等待,请教各位大神!!先谢谢了。。。

在网上找到一段代码,能否在此基础上改进:

import java.io.IOException;
public class RunTimeTest {
    public static void main(String[] args) {
        Runtime rt = Runtime.getRuntime();  //java的API,获得一个对象
        try {
            // 这里的路径是我本机的foxmail安装目录,而应用部署到服务器中后,又该如何实现?
            rt.exec("E:\\Program Files\\Foxmail 7.0\\Foxmail.exe");
        } catch (IOException e) {
            e.printStackTrace();  
        }  
    }  
Email EXE 服务器 浏览器

------解决方案--------------------
浏览器中的按钮启动email客户端是不是用一个js触发就行了?
<a href="mailto:yourmail@163.com">发邮件</a>
这是打开本机默认的邮件客户端,如果一定要指定打开某个exe文件.IE下面有activex,其它的浏览器没有研究过
------解决方案--------------------
首先不建议写死,虽然可以实现但万一工程位置一旦发生变化那肯定就狒狒了,我倒是弄过,思路是这样的:
你在项目中直接建一新的文件夹链接,然后把exe程序放在这个文件夹里这样这个程序对应web工程的路径就不变了,也就是说这个外部引用的exe当作这工程的一个引用插架变成了一个整体,其实这个你应该想到了,关键是你不知道怎么取得这个web应用在服务器中的绝对路径吧,其实很简单就一个方法就可以搞定:
this.getServletConfig().getServletContext().getRealPath("/")
看看这个值是什么,哈哈,还有什么不明白的说来听听