JNA找到窗口,但不能最小化它。

问题描述 投票:0回答:1

我想用JNA在Java上操作一个外部窗口。我想找到一个特定的窗口,然后将其最小化。除了一个窗口(显然是我需要的窗口)之外,我试过的每个窗口都能很好地工作。这一个窗口可以被找到并设置为前景,但不能通过编程将其最小化。我也试过用User32.INSTANCE.MoveWindow移动它,但那个命令也失败了。我想知道是否有一些应用程序不允许JNA窗口操作。如果有,我可以怎么做?我的代码如下所示。

    HWND test = User32.INSTANCE.FindWindow(null,"windowname");
    User32.INSTANCE.SetForegroundWindow(test);
    User32.INSTANCE.ShowWindow(test, WinUser.SW_MINIMIZE);
java jna
1个回答
0
投票

ShowWindow的API:

nCmdShow

类型:int

控制窗口的显示方式。当应用程序第一次调用ShowWindow时,此参数将被忽略。,如果启动应用程序的程序提供了一个STARTUPINFO结构。否则,第一次调用ShowWindow时,其值应该是WinMain函数在其nCmdShow参数中获得的值。在随后的调用中,这个参数可以是下列数值之一。

这样看来,如果第二次调用,你的最小化命令可能会有效。

© www.soinside.com 2019 - 2024. All rights reserved.