【问题标题】:JNA finding window, but not minimizing itJNA 查找窗口,但未将其最小化
【发布时间】:2020-10-06 19:14:16
【问题描述】:

我正在尝试使用 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 winapi window jna


    【解决方案1】:

    来自API for ShowWindow

    nCmdShow

    类型:整数

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

    如果您再次调用它,您的最小化命令似乎可能会起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多