从Java打开和关闭应用程序

Lob*_*obo 2 java pid file

我想制作一个程序来打开和关闭计算机上安装的应用程序.

我知道用的

Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+"M:\\myfile.doc"); 
Run Code Online (Sandbox Code Playgroud)

打开Word文档myfile.doc

问题是使用此命令无法关闭执行命令时打开的Word应用程序.

如何从java程序中打开和关闭应用程序?

谢谢!

问候!

Jac*_*ack 5

您可以尝试存储Process返回的exec()并调用destroy()它,但我认为它不会起作用,因为您正在执行一个启动新进程的Windows命令,该进程当时不是由JVM管理的(JVM只能看到rundll32的东西) ).

一个可以肯定但不会跨平台的解决方案(我不认为你真的关心,因为Word也不是跨平台的:)是使用另一个windows shell命令来获得你想要的东西,比如

taskkill /IM word.exe
Run Code Online (Sandbox Code Playgroud)

您可以像打开单词一样执行它defaultRuntime.exec(...).如果您打开了许多单词进程并且想要终止特定的单词进程,则必须解析任务列表以获取正确的PID,然后尝试使用taskkill /PID XXXX.