package com.liugaoxu;
import java.io.*;
import java.util.*;
import java.lang.*;
public class DemoTest {
//使用java调用现存的exe模块。
public static void main(String[] args) {
// TODO 自动生成方法存根
Runtime rn = Runtime.getRuntime();
Process p = null;
try{
//p = rn.exec("D:/AnyQ/AnyA.exe");
//p = rn.exec("notepad");
p = rn.exec("cmd.exe /c start notepad");
p.waitFor();
p = rn.exec("control.exe"); //调用控制面板
//p = rn.exec("cmd");
p = rn.exec("rundll32.exe shell32.dll,Control_RunDLL main.cpl "); //调用鼠标控制
}catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
catch(Exception e){
System.out.println(e.getClass()+ " Error of s" + e.getMessage());
System.exit(0);
}
}
}
其中一些系统的控制面板的exe文件
结果: 显示鼠标属性。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1
结果: 显示键盘/速度属性。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1
结果: 显示键盘/语言属性。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,2
结果: 显示键盘/常规属性。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2
结果: 显示打印机属性。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
结果: 显示字体属性。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4
结果: 显示电源管理属性。
增加 Modem
模块:modem.cpl
命令:rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add
多媒体
模块: mmsys.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0
结果:声音。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1
结果:视频。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2
结果:声音 MIDI。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3
结果:CD/音乐。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4
结果:高级。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1
结果:声音。
网络
模块:netcpl.cpl
命令:rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl
打开方式窗口(Open With)
本文介绍如何通过Java程序调用系统中的exe文件及控制面板组件,包括启动Notepad、打开控制面板的不同模块等,并提供了详细的代码示例。
695

被折叠的 条评论
为什么被折叠?



