是否可以使用 java 扫描所有打开的窗口并找到指定的窗口。说记事本?例如,我希望记事本在前面和中间打开并准备好,它打开,当我运行我的程序时,它会扫描所有打开的窗口并将记事本向前移动。
问问题
220 次
2 回答
0
这可以通过 JNA 完成。
import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef.HWND;
// https://github.com/twall/jna#readme
// you need 2 jars : jna-3.5.1.jar and platform-3.5.1.jar
public class ActivateNotepad {
public static void main(String[] args) {
HWND hwnd = User32.INSTANCE.FindWindow("Notepad", null);
if (hwnd == null) {
System.out.println("No Notepad instance detected");
}
else{
System.out.println("Notepad instance found.");
User32.INSTANCE.SetForegroundWindow(hwnd);
}
}
}
于 2015-02-10T16:23:30.873 回答
0
我在Windows系统方面有丰富的经验。而且我知道在 Windows Management Instrumentation (WMI) 中适当地满足了 Windows 系统的特定要求。我已经像你正在做的那样成功地使用了 WMI,但我从来没有用 Java 做过。这是 WMI 解释的链接。请告诉我您尝试了哪些并陈述您的结论。
相信我,一旦您知道如何使用 Java 访问 WMI,您几乎可以在 Windows 系统上做任何事情。当然,如果我有这样的要求,我会使用 C# 和 .NET。但 Java 是您的选择 </p>
于 2012-05-28T06:01:33.213 回答