JAVA调用window应用程序

本文介绍了JAVA在Windows环境下调用应用程序的两种方法:通过CMD命令和Rundll32。CMD调用涉及执行简单命令和批处理文件,而Rundll32则用于执行32位DLL文件中的内部函数,实现进程隐藏。文中提供了具体调用示例,如使用CMD打开网页和使用Rundll32播放PPT。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA调用window应用程序有两种方法,分别是cmd调用和rundll32调用方法。两种方法的区别在于调用的命令不同,执行方法都是Runtime.getRuntime().exec();

 

Cmd

 

Cmd调用方法:Runtime.getRuntime().exec(Cmd命令 + 文件绝对路径);

 

Cmd命令:

 

1、  执行简单的命令,把命令解释器包含在exec()的参数中。

       //打开百度网页

       String command="cmd /c start  http://www.baidu.com";

       Runtime.getRuntime().exec(command); 

 

2、  批处理(bat)文件,将cmd命令写到myFile.bat里即可

       Runtime.getRuntime().exec("cmd /c start myFile.bat"); 

 

Rundll32

 

即,执行32位的DLL文件。作用是执行DLL文件中的内部函数,以命令行的方式调用动态链接程序库,这样在进程当中,只会有 Rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。

 

rundll32.exe调用方法:Runtime.getRuntime().exec(rundll32.exe命令 + 文件绝对路径);

 

rundll32.exe命令的具体使用方法如下:

 

Rundll32.exe DLLname,Functionname [Arguments] 

l        DLLname为需要执行的DLL文件名;

l        Functionname为前边需要执行的DLL文件的具体引出函数;

l        Arguments]为引出函数的具体参数。 

 

例子

 

下面分别以调用1.pps(pps后缀为自动播放PPT)文件为例,进行说明。

 

cmd调用方法: 

Runtime.getRuntime().exec("cmd /c start " + 程序的绝对路径);

try {
     Runtime.getRuntime().exec("cmd /c start " + "C:\\1.pps");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

 

Rundll32调用方法:

Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+ 程序的绝对路径);

try {
    Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + "C:\\1.pps");
    } catch (IOException e) {
    // TODO Auto-generated catch block    
    e.printStackTrace();
}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值