gpt4 book ai didi

java - 通过 Java 控制应用程序

转载 作者:可可西里 更新时间:2023-11-01 09:20:47 24 4
gpt4 key购买 nike

我正在寻找一种通过 Java 模拟操作系统(特定于 Windows)操作的方法。程序最好在后台运行,但如果不在后台运行也没什么大不了的。感谢 this,我得到了背景部分 问题。我一直在寻找以下特定功能:

  • 最大化/最小化当前 Activity 窗口。 (可以是任何窗口,而不仅仅是 Java 应用程序窗口。)
  • 关闭当前 Activity 的窗口。
  • 打开已安装的程序和系统实用程序,如计算器、画图等(我从 this 问题中找到了这个。)
  • 关机/重启(这个也完成了,多亏了问题 here 。)

所以,我的实际问题是:

是否可以从 Java 程序最小化/最大化关闭应用程序窗口? (在 Windows 中)

示例场景:

首先启动 java 程序,它作为后台进程或窗口运行。最重要的是,它应该能够接受触发器,例如键盘快捷键或麦克风输入来触发操作。之后假设打开了一个 Chrome 窗口并且当前处于 Activity 状态。现在按下预定义的快捷方式,Chrome 窗口将最小化/最大化或关闭。

如果问题的答案是肯定的,我可以使用一些指导来开始我的应用程序。谢谢!

最佳答案

您需要的就像一个 OS shell 编程接口(interface)。在 Java 端,您将定义一些接口(interface)。另一个 Java 层将检测使用的是哪个操作系统,并将返回接口(interface)的实现:Windows、Linux、Macosx。

您可以通过简单的 bash 命令获得一些功能:在 windows cmd 中,在 linux 中……很多。例如关闭、启动 MSPaint、计算器。

您可以通过 Windows API 获得的其他功能:您需要编写一些 JNI 函数并调用它。例如最小化,最大化。这是可能的。

编辑:我看到没有被接受的答案,尽管它得到了正确的回答。 Here是一个 C# 代码,它可以在 Java 中执行您需要的操作。

现在您需要将此代码迁移到 Java:

在你的 java 类中声明一个函数:

private native maximizeOrMinimizeWindowWithName(String windowName, boolean maximize);

编译-it使用 Javah.exe - 它将生成必要的 .h 文件使用C编辑器,配置环境,使用生成的.h文件。

-包含 Windows API header -加载 user32.dll- 做更多的事情..

将您的 C 代码编译为 .dll

将 your.dll 放入您的应用程序 PATH 环境变量中。 (windows 有 . 在路径中,linux 没有)

-文本,错误修复,

  • 有关更多信息,您应该查看基本的 JNI 教程。

-赞成接受:)

关于java - 通过 Java 控制应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17530572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com