Java是种跨平台的语言,我们经常碰到需要通过Java调用windows下某些程序。有些第三方厂商如(ANT),也提供了调用windows下可执行程序的方法,但我们往往需要调用一些批处理命令。而Java却不提供。这里,我采用一种变相的调用方法,使得Java能调用批处理命令。
前期准备
Quick Batch File (De)Compiler
将任何BAT、CMD批处理脚本编译为EXE文件。
1、运行exe 文件
Java JDK里已经提供了调用的方法,不在累赘,代码如下。
try {
String command = "notepad";
Process child =
Runtime.getRuntime().exec(command);
} catch (IOException e)
{
}
2、运行 bat(批处理) 文件
Java对批处理文件还不支持。刚开始一直在研究Java如何调用批处理文件,始终找不到解决方法。后来只好绕过批处理,考虑如何将批处理转换为exe可执行文件。然后再通过Java调用可执行文件。
在Google上搜索一下,找到Quick Batch File (De)Compiler,可以将任何BAT、CMD批处理脚本编译为EXE文件。使用了一下,果然可以。
Quick Batch File (De)Compiler使用非常简单:
Quickbfc 文件名.bat 文件名.exe(将批处理命令编译为可执行文件)
quickbfd 文件名.exe 文件名.bat(将可执行文件反编译为批处理命令)
然后,我们再按第一种方法通过Java 调用,即可。
本文来自:http://www.linuxpk.com/46886.html
分享到:
相关推荐
### Java调用Windows应用程序知识点详解 #### 一、概述 在Java编程中,有时我们需要让Java程序去调用操作系统中的其他应用程序,例如打开记事本(Notepad)、启动计算器(Calculator)等。这种方式不仅可以增强...
总结来说,Java调用Windows批处理文件是通过`Runtime.exec()`方法实现的,需要正确指定批处理文件的路径,并且注意处理程序的输出和错误流。在实际开发中,应考虑异常处理、资源管理和进程同步等问题,确保程序的...
在这种场景下,Java Native Access (JNA) 库为我们提供了一个无需编写C语言桥接代码就能调用系统原生库(如动态链接库DLL在Windows上)的解决方案。 本文将详细介绍如何使用Java通过JNA调用系统API,以Windows系统...
此“Java11安装程序包Windows64位版本.zip”包含了适用于Windows操作系统64位环境的Java 11 JDK安装程序。这个压缩包的目的是解决用户在官网下载Java 11时可能遇到的速度慢的问题,提供了一个更快捷的获取途径。 ...
在Windows下实现Java程序对屏幕、鼠标和键盘的监控,虽然可以通过标准的Java事件监听接口实现基本功能,但对于更复杂或系统级的需求,可能需要结合JNI和Windows API来增强监控能力。这要求开发者不仅要熟悉Java编程...
本文将详细讲解如何在Linux和Windows操作系统下动态设置classpath以调用Java类方法,并提供实际示例和文档。 一、Linux环境下设置classpath 在Linux系统中,你可以通过以下几种方式设置classpath: 1. **命令行...
"java使用win32api创建gui窗体"这个主题就涉及到如何在Java程序中集成Win32 API来创建具有特殊需求的用户界面。 Win32 API是微软Windows操作系统提供的底层接口,它允许开发者直接与操作系统交互,执行许多低级别的...
### JAVA调用DLL方法 在跨平台开发领域中,Java作为一种强大的编程语言,因其具有良好的移植性和跨平台性而被广泛使用。然而,在某些特定情况下,我们可能需要调用本地库(例如DLL文件)来实现特定功能或提高性能。...
通过使用Java,开发者可以编写程序来实现定时或即时的系统关机和重启功能,解决了不能直接通过Windows开始菜单操作的情况。下面将详细介绍如何使用Java实现这一目标。 首先,Java提供了`Runtime`类和`...
总结来说,Java调用IE内核主要涉及Java与ActiveX控件的交互,这一技术虽然有一定的历史背景,但在现代Web开发中已经较少使用,更多的现代解决方案倾向于使用标准Web技术或者基于Chromium的框架。理解和学习这个知识...
总之,Java调用Shell脚本是一个有效的方法来在Java程序中实现复杂的Linux环境下的操作,这种技术尤其适用于需要进行系统级操作和自动化任务的场景。掌握这一技术可以帮助开发者更好地实现跨平台的功能,尤其是在开发...
本文将深入探讨如何在Windows环境下使用Java查看系统证书,并介绍一个涉及`mscryptofunctions.dll`的特殊案例。 首先,Java提供了JSSE(Java Secure Socket Extension)来处理SSL/TLS协议,其中包括对证书的操作。...
Java调用doc命令主要涉及到的是Java的进程操作和命令行接口。在Windows操作系统中,`.doc`文件通常是由Microsoft Word创建的文档。然而,“doc命令”可能是指通过命令行(CMD)来操作或处理这些文档的方式,比如使用...
JNI在许多场景下非常有用,比如需要利用已有的C/C++库,或者提高程序的性能,因为本地代码通常可以更高效地执行某些计算密集型任务。本教程将深入讲解如何使用JNI在Java中调用C/C++的本地库。 首先,我们需要理解...
在 Windows 2008 环境中运行 Java 应用程序时,可能会出现 8 小时时差问题。这种问题可能是由于 Java 的版本问题所引起的。在一些特定的情况下,Java 应用程序与系统时间之间可能会出现时间差问题。这种问题可能是...
6. **本地变量类型推断**:Java 11引入了`var`关键字,允许在某些情况下省略局部变量的类型声明,提高了代码的简洁性。 7. **JLink和JMod**:这两个工具允许开发者创建定制的运行时镜像,减小了应用程序的部署大小...
Java使用JNI(Java Native ...通过分析这些文件,可以深入理解JNI的工作原理以及Java调用C++ DLL库的具体步骤。通过实践这个测试程序,开发者可以更好地掌握JNI的使用技巧,以便在实际项目中灵活地集成Java和本地代码。
标题中的“java调用dll实现键盘的屏蔽”指的是在Java程序中通过动态链接库(DLL)来阻止键盘输入。这是一个常见的需求,特别是在自动化测试、安全软件或者某些特殊应用环境中,可能需要防止用户通过键盘进行输入干扰...
Java开发Windows托盘程序的类库systray4j.dll是一个用于在Windows操作系统中实现系统托盘功能的Java库。这个库使得Java开发者能够轻松地创建具有系统托盘图标和菜单的应用程序,即使这些应用程序已经最小化到系统...
Java程序通常运行在Java虚拟机(JVM)上,但为了在没有安装Java环境的Windows系统上方便地执行,开发者可能会需要将Java程序转换为可执行的.exe文件。标题提到的"java程序转exe工具"就是这样的解决方案,它使得Java...