怎么样用JAVA取得系统进程及相关信息.
怎么关机,重启.
取得用户名
结束进程,新建进程.
怎么关机,重启.
取得用户名
结束进程,新建进程.
解决方案 »
- J2SE 照书抄的居然 不出声 求大大指点
- 用什么东西可以吧.class转换成.exe啊?
- Applet问题,紧急,大家帮帮我
- 求emf build 2.2.1
- 小菜鸟,急问字符串问题请教,谢谢
- 为什么有了import java.applet.*却还要import java.applet.Applet
- 请大家给我讲一下imlemnets与extends的区别?
- 函数问题
- 请问读取一个File,一定要存入Byte Array么,我想存入double[][]可以么?
- 我是新来论坛的,请问如何给分与接分?
- 我的输入这块 什么问题呀?请赐教!
- import com.borland.dbswing.FontChooser;这样写会报错,为什么呀我要建立一个设置字体的窗口,但是老师给的答案里面就是这么写的就没事
获取相关信息用api就可以了
关机重启就调用批处理吧
取用户名就不知道了
结束进程也可以用批处理
新建进程用exec
取得进程:
private List getProcessList() {
List list = new ArrayList(); //这里我的JB2006报错,可是这样直接创建吗?
Runtime time = Runtime.getRuntime();
try {
Process process = time.exec("cmd exe /c tasklist /v /nh /fo csv");
InputStream stream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(
stream));String str = reader.readLine();
while (str != null) {
System.out.println(str);
if (str != null && !str.equals("")) {
str = str.substring(1, str.length()-1);
String[] strs = str.split("\",\"");
ProcessInfoObj infoObj = new ProcessInfoObj(); //ProcessInfoObj这是个什么东西,jdk1.5有吗没有找到啊
infoObj.setProcessID(strs[1]);
infoObj.setProcessName(strs[0]);
infoObj.setProcessOwner(strs[6]);
infoObj.setProcessState(strs[5]);
infoObj.setProcessTitle(strs[8]);
infoObj.setRunTime(strs[7]);
infoObj.setSessionID(strs[3]);
infoObj.setSessionName(strs[2]);
infoObj.setUserMemory(strs[4]);
list.add(infoObj);
}
str = reader.readLine();
}
} catch (IOException e) { // TODO Auto-generated catch block
e.printStackTrace();
}return list;
}
这是一个用户定义的类,用于结构化存储进程基本信息。你在while循环中加入一句:System.out.println(str);
就可以输出进程信息的格式化文本
"System Idle Process","0","Services","0","24 K","Unknown","NT AUTHORITY\SYSTEM","1:44:03","��ȱ"
"System","4","Services","0","1,828 K","Unknown","��ȱ","0:01:08","��ȱ"
"smss.exe","436","Services","0","696 K","Unknown","NT AUTHORITY\SYSTEM","0:00:00","��ȱ"
我这边得到的输出是这样的。那么,可以分析出来,字符串的分隔符是 "," (注意,包含引号哦),接下来就是把它写入自定义的ProcessInfoObj类(这个不用教你了吧),再压入ArrayList即可。至于List类,可以直接初始化为ArrayList实例,不过这里编译是会出现warnning的,没有关系。
锁定工作站,
关闭显示器,
启动指定程序,
我知道有人有dll可以给java调的,可是他要钱,
所以还是你自己找吧,
不是太难。