Java | 通过程序代码打开EXE应用或者文件
通过Java后台调用本地exe程序
JAVA后台无法实现打开客户端上的应用程序以及文件,是由于JAVA本身的安全性限制,只能打开服务器本地的程序以及文件,直接上代码,测试运行即可。
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class exec {/*** @author Sunxy Create By 2017-9-18 上午11:49:38* @do TODO* @param args* @throws IOException */public static void main(String[] args) throws IOException {useProcessBuilder();useAWTDesktop();useRuntimeExec();}/** * 借助java.lang.ProcessBuilder打开 * @throws IOException */ private static void useProcessBuilder() throws IOException{ //new ProcessBuilder("notepad.exe", "C:/Users/Jadyer/Desktop/test file/readme.txt").start(); List<String> commands = new ArrayList<String>(); commands.add("D:/softWare/WeChat/WeChat.exe"); //commands.add("F:/C.Project/便签.txt"); new ProcessBuilder(commands).start(); } /** * 借助java.awt.Desktop打开 * @see 打开的目录或文件名中允许包含空格 */ private static void useAWTDesktop() throws IOException{ Desktop.getDesktop().open(new File("F:/C.Project/便签.txt")); } /** * 借助java.lang.Runtime打开 * @see WPS文字--------Runtime.getRuntime().exec("cmd /c start wps") * @see WPS表格--------Runtime.getRuntime().exec("cmd /c start et") * @see WPS演示--------Runtime.getRuntime().exec("cmd /c start wpp") * @see Office Word---Runtime.getRuntime().exec("cmd /c start winword") * @see Office Excel--Runtime.getRuntime().exec("cmd /c start excel") */ private static void useRuntimeExec() throws IOException{ /* * 若打开的目录或文件名中不包含空格,就用下面的方式 */ Runtime.getRuntime().exec("cmd /c start D:/softWare/WeChat/WeChat.exe"); Runtime.getRuntime().exec("cmd /c start F:/C.Project/便签.txt"); /* * (可以'运行'或'Win+R',然后输入'cmd /?'查看帮助信息) */ //Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "D:/my local/测试用例.xls"}); /* * 借助本地安装程序打开 * 若打开的目录或文件名中包含空格,它就无能为力了..不过本地程序的安装目录允许含空格 */ String etCommand = "D:/Program Files/WPS/8.1.0.3526/office6/et.exe"; String filePath = "D:/mylocal/测试用例.xls"; Runtime.getRuntime().exec(etCommand + " " + filePath); } /*** public static void main(String[] args) {String path = "D:\\public.bat";Runtime run = Runtime.getRuntime();try {// run.exec("cmd /k shutdown -s -t 3600");Process process = run.exec("cmd.exe /k start " + path);InputStream in = process.getInputStream(); while (in.read() != -1) {System.out.println(in.read());}in.close();process.waitFor();} catch (Exception e) { e.printStackTrace();}}*/
}
JS打开客户端上的应用程序或者文件(注册表方式)
如果要实现通过点击页面上,打开本地程序,则使用js代码来是实现。
- 使用记事本(或其他文本编辑器)创建一个openWeChat.reg文件,并写入以下内容(还可以传递参数)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\openWeChat]
@="URL:openWeChat Protocol"
"URL Protocol"="D:\\softWare\\WeChat\\WeChat.exe"
[HKEY_CLASSES_ROOT\openWeChat\DefaultIcon]
@="D:\\softWare\\WeChat\\WeChat.exe"
[HKEY_CLASSES_ROOT\openWeChat\shell]
[HKEY_CLASSES_ROOT\openWeChat\shell\open]
[HKEY_CLASSES_ROOT\openWeChat\shell\open\command]
#@="cmd /c set m=%1 & call set m=%%m:openNotepad:=%% & call \"D:\\softWare\\Notepad++\\notepad++.exe\" %%m%% & exit"
@="D:\\softWare\\WeChat\\WeChat.exe"
- 修改参数,按下图修改这几处后,保存为xxx.reg文件,双击执行,注册表注册成功。
- 调用,在html中引用
<a href="openWeChat:">微信</a>
openWeChat 对应注册表中的名称,注意后面的冒号不要丢掉
<!-- 操作 菜单 -->
<li class="menu-item"><div class="menu"><a class="menu-hd" style="width:68px;">操作<b class="bt"></b></a><div class="menu-bd" style="width:80px;line-height:1.7;" role="menu" aria-hidden="true" id="menu-4"><div id = "oper"><a href="openWeChat:">微信</a></div></div></div>
</li>
Java | 通过程序代码打开EXE应用或者文件相关推荐
- NSIS实现安装前检测是否安装程序,程序是否运行,安装后关联程序默认打开方式,刷新文件图标
NSIS实现安装前检测是否安装程序,程序是否运行,安装后关联程序默认打开方式,刷新文件图标 这段时间在公司研究C#程序的安装包尝试了vs自带的setup项目,效果不尽如意跟直接压缩没太大区别.老大让我 ...
- python下载大文件mp4_Python代码打开本地.mp4格式文件的方法
Python代码打开本地.mp4格式文件的方法 想通过编写Python代码来打开本地的.mp4格式文件,使用os模块来操作文件.我的电脑默认的是QQ影音播放器,执行Python代码打开默认播放器,播放 ...
- python读取mp4文件失败_Python代码打开本地.mp4格式文件的方法-mp4文件
Python开发技术的应用相信有不少的小伙伴都有所了解,简单的说那就是非常的强大,Python开发技术的应用是非常广泛的,本篇文章扣丁学堂Python培训小编就给读者们分享一下Python代码打开本地 ...
- Java——将程序输出为exe文件
Java学习日记 文章目录 Java学习日记 一.如何生成调用jar包的exe程序? 二.步骤 1.将程序转为jar包 2.使用exe4j软件将jar包转为exe程序 总结 一.如何生成调用jar包的 ...
- Java桌面程序打包成exe可执行文件
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
- 火狐浏览器中打开java_Ubuntu下通过Firefox Opera Chromium浏览器直接执行java应用程序(打开java jnlp文件)实现在服务器远程虚拟控制台完成远程管理的方法...
远程虚拟控制台依赖于java运行环境(jre),在通过浏览器打开链接前,系统必须安装jre环境,远程管理控制台其实就是一个java程序,打开相应的网站会下载一个jnlp(java网络加载协议)的文件, ...
- 关于如何将java桌面程序打包成exe可执行文件
一.先把java文件打包成jar 在Eclipse中在你要打包的项目上右击(如图我想打包一个叫graphicproject的项目) 出来一个快捷菜单,点Export,然后Next,出现如下界面注意把红 ...
- java 用程序代码解释继承_关于初级java程序员笔试题
关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...
- 简单java小程序代码_求简单的JAVA小程序的源代码
展开全部 <Java就业培训教程>P34源码 程序清单:Promote.java class Promote { public static void main(String args[] ...
最新文章
- spring JdbcTemplate 在项目中的浅层(5个使用场景)封装
- tom启动报错:org.xml.sax.SAXParseException: Content is not allowed in prolog.
- mysql更新数据能回滚吗_MySQL数据回滚-误更新和删除时快速恢复
- 东莞华勤通讯软件测试怎么样,【社招】华勤通讯NBD测试验证部急聘岗位-东莞...
- MYSQL(3)---MySQL的基本概念介绍
- 电脑唯一标识_什么是电脑网卡物理地址以及2种查询物理地址的方法?
- 使用SQL Server进行时间点恢复
- 【NOIP2000】【vijos1347】乘积最大
- Catalyst 65xx系列交换机配置(Native IOS)
- app开发需要哪些技术?4种app制作方法对比
- 牛客刷题---年会抽奖
- hadoop系列-hadoop版本选择
- npm install报错ERR! code ETIMEDOUT的解决办法
- ffmpeg命令下载m3u8原画质视频
- android 中文冒号,Kotlin中双冒号::使用方法
- (06) Apache Felix 入门 - 06
- Mac下cmake使用
- stm32——手动移植HAL库以及错误解决方案(以STM32F103ZE为例)
- 【Wwise】一篇文看懂WwiseUnity热更
- 【圣诞来了】3分钟教你用java画一颗彩色圣诞树,送给别人作为圣诞礼物吧