gpt4 book ai didi

java - 使用java处理外部窗口

转载 作者:搜寻专家 更新时间:2023-10-30 21:19:37 27 4
gpt4 key购买 nike

我需要使用标题检查外部窗口(另一个 Java 程序,但不受我正在处理的程序控制)是否打开,如果打开,则根据用户最大化或最小化它Java 中的命令(我只知道窗口的标题,其他一无所知)。 Google 只说我可以使用 winapi 获取窗口句柄并使用句柄对其进行操作,但我找不到如何执行此操作。

我可以在这里找到有关如何使用 JNI 执行此操作的引用资料: In Java Swing how do you get a Win32 window handle (hwnd) reference to a window? .是否可以在不使用 JNI 的情况下执行此操作?

有人可以帮助我了解如何执行此操作。

感谢和问候

最佳答案

我刚刚在 JNA 中添加了很多与 win32 相关的窗口函数.可以看详情here .

// Find and minimize a window:
WinDef.HWND hWnd = User32.INSTANCE.FindWindow("className", "windowName");
User32.INSTANCE.ShowWindow(hWnd, WinUser.SW_MINIMIZE);

您还可以枚举所有窗口:

final WinDef.HWND[] windowHandle = new WinDef.HWND[1];
User32.INSTANCE.EnumWindows(new WinUser.WNDENUMPROC() {
@Override
public boolean callback(WinDef.HWND hwnd, Pointer pointer) {
if (matches(hwnd)) {
windowHandle[0] = hwnd;
return false;
}
return true;
}
}, Pointer.NULL);

// Minimize or maximize windowHandle[0] here...

关于java - 使用java处理外部窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6662956/

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