繁体   English   中英

如何在Java程序中运行exe文件

[英]How to run exe file in Java program

如何在NetBeans中的Java代码中执行exe文件? 我写了一段代码来用Java运行exe文件,

  Process process = Runtime.getRuntime().exec( "cmd.exe /C start C:/Users/123/Desktop/nlp.exe" ); 

此代码运行文件。

该文件有一些部分,我可以单击它并运行它的不同部分。 是否可以使用代码访问这些部分并在Java中运行它们而不是单击它?

编辑代码:

 Process process = Runtime.getRuntime().exec( "cmd.exe /C start C:/Users/123/Desktop/nlp.exe" ); 

Robot bot = new Robot();
bot.mouseMove(100, 100);    
bot.mousePress(InputEvent.BUTTON1_MASK);
bot.mouseRelease(InputEvent.BUTTON1_MASK);

您可以将点击信号发送到系统,并在屏幕上指定其位置。 检查这个问题

使用java.awt.Robot为外部程序生成系统鼠标单击。

Java没有内置的方法来获取外部窗口的坐标,但是可以使用JNA来完成。 看到这个答案:

编辑

您的评论和编辑正在改变问题,这使得在这里回答几乎毫无意义。 但是,根据您对问题的最后一次编辑,如果我理解正确,那么您现在正在询问是否可以通过某种方式在Java中触发外部应用程序中的事件,而不会触发鼠标单击。 在这种情况下,我认为答案是针对特定程序的。

如果可以通过按键触发事件,则可以使用java.awt.Robot另一个非鼠标选项。

如果程序生成/响应Windows消息(在Windows api级别),则可以通过JNA和Windows api SendMessage发送相同的消息。 但是,这可能会变得很复杂,并且要求您熟悉Windows API和用于查找和处理这些消息的技术。

您可以像这样链接命令

在此示例中,我使用“ c:”,然后使用“ dir”,然后使用“ ipconfig”。 “ cho end”


要使终端保持打开状态:

Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"c: && dir && ipconfig\"");


要在最后自动关闭它:

Runtime.getRuntime().exec("cmd /c start cmd.exe /c \"c: && dir && ipconfig\"");

编辑

在您的情况下将是:

Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"C:/Users/123/Desktop/nlp.exe && whatever_other_commands_you_want\"");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM