我有这样的示例代码。
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author padmaja
*/
import java.io.*;
class Test{
public static void main(String arg[]){
try{
String command = "cmd /C start C:/excel.bat";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
}catch (IOException e) {
e.printStackTrace();
}
}
}
我使用上面的代码打开excel表。
问题是如果每隔15分钟使用一个线程打开Excel工作表,那么将显示多个Excel工作表。我想从上面的代码本身关闭批处理文件的运行。
提前致谢
答案 0 :(得分:2)
打开Excel工作表后,最终用户将与之交互,对吧?你怎么知道关闭它可以吗?如果您只为启动加载的某些宏启动Excel,则可能可以在该宏中退出。
答案 1 :(得分:0)
一种选择是使用taskkill命令(http://technet.microsoft.com/en-us/library/bb491009.aspx)来终止进程。当然,这只会终止进程,因此您将无法进行任何清理/保存等。
答案 2 :(得分:0)
在我的项目中,我们遇到了同样的问题。
您可以编写一个可以根据需要打开和关闭已启动进程的DLL。在C ++中,您可以处理您所描述的过程。你得到一个进程ID,你可以在其中识别正在运行的进程。据我所知,你只能杀死一个进程,而不是通过要求用户关闭窗口来优雅地终止。