java 控制其他程序_通过Java控制应用程序
我正在寻找一种通过Java模仿操作系统(特定于Windows)操作的方法.最好该程序应在后台运行,但如果不是,则没什么大不了的.我感谢this问题覆盖了背景部分.我一直在寻找以下特定功能:
>最大化/最小化当前活动的窗口. (可以是任何窗口,而不仅仅是Java应用程序窗口.)
>关闭当前活动的窗口.
>打开已安装的程序,以及系统实用程序,例如计算器,绘画等.(我从this问题中得出了这一点.)
>关闭/重新启动(由于问题here,此操作也完成了.)
因此,我的实际问题是:
是否可以从Java程序最小化/最大化或关闭应用程序窗口? (在Windows中)
示例场景:
首先,启动Java程序,该程序可以作为后台进程运行,也可以作为窗口运行.底线是它应该能够接受触发,例如键盘快捷键或麦克风输入来触发操作.之后,假设打开了一个Chrome窗口,并且该窗口当前处于活动状态.现在,按下预定义的快捷方式后,Chrome窗口将最小化/最大化或关闭.
如果问题的答案是肯定的,那么我可以使用一些指针来启动我的应用程序.谢谢!
解决方法:
您所需要的就像是OS Shell编程接口.
在Java方面,您将定义一些接口.
另一个Java层将检测所使用的OS,并返回接口的实现:Windows,Linux,Macosx.
您可以使用简单的bash命令获得一些功能:在Windows cmd中,在Linux中.例如关闭,启动MSPaint,计算器.
Windows API可以提供的其他功能:您将需要编写一些JNI函数并调用它.例如最小化,最大化.有可能的.
编辑:
我看到没有正确的答案,但是没有可以接受的答案.
Here是C#代码,可以完成Java中所需的工作.
现在您需要将此代码迁移到Java:
在您的java类中声明一个函数:
private native maximizeOrMinimizeWindowWithName(String windowName, boolean maximize);
编译
使用Javah.exe-它将生成必要的.h文件
使用C编辑器,配置环境,使用生成的.h文件.
-包括Windows API标头
加载user32.dll
-做更多的东西.
将您的C代码编译为.dll
将your.dll放入您的应用PATH环境变量中. (Windows在路径中带有.,Linux没有)
-文字,错误修正,
>有关更多信息,您应该看到基本的JNI教程.
-upvote接受:)
标签:windows,java
来源: https://codeday.me/bug/20191030/1969773.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
