怎么用JAVA调用系统的关机,重启命令?
怎么用JAVA调用系统的关机,重启命令?大虾,知道的说一下。有一个例子更好。:handshake在WINDOWS 下怎么添加启动项服务????
在WINDOWS 下怎么添加启动项服务????是否可以做??我没有从来没有做过。。。使用JNI
如果要系统关机,就需要调用windows的API了所以要通过JNI来踩调用c++程序(使用JNI的程序失去可移植性)
例如:
class HelloWorld {
public native void displayHelloWorld();
static {
System.loadLibrary("hello");
}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}
HelloWorldImp.c.
#include <jni.h>
#include "HelloWorld.h"
#include <stdio.h>
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!\n");
return;
}
你在网上搜索JNI,会得到满意的回复!
只能用JNI了
我查看了java的lang包system下API,都是关于jvm的,对系统是没有操作的。 [i=s] 本帖最后由 bzrjlm@163.com 于 2008-12-31 18:02 编辑 [/i]我来说几句,
以下是代码:
-----------------------------------Code begin-----------------------------------------------------------
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @author Liming
* @time Dec 31, 2008 5:48:37 PM
* @version 1.0
*/
public class NativeResourceCaller {
public static void main(String args[]) {
Runtime runtime = Runtime.getRuntime();
// 可以调用本地的exe文件(一般XP系统在C:\WINDOWS下都个快速关机的文件)
// 或bat文件(关机命令:shutdown,自己写)
try {
// Process process = runtime.exec("C:\\Program Files\\xxx.exe");
Process process = runtime.exec("F:\\bat.bat");
// 有些人说Java不支持bat文件,可能说的是运行exe会弹出exe程序,而bat不会像双击bat文件弹出dos窗口
// 但实际是起作用了,可以看我的测试bat:
// 在xxx.bat文件中写入:explorer [url]http://hi.baidu.com/qq295361921[/url]
// 虽然没有弹出dos窗口,但这条命令把网页打开了,这也正是运行bat的最终效果
// 所以我觉得,这可行,可以试试。
// 还有人提出quick batch file compiler工具将bat转化成exe文件,其实效果一样
BufferedReader br = new BufferedReader(new InputStreamReader(
process.getInputStream()));
String str = null;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
-----------------------------------Code end-----------------------------------------------------------
页:
[1]