[英]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.