【问题标题】:How to trigger maximize/minimize in windows programming如何在 Windows 编程中触发最大化/最小化
【发布时间】:2021-09-17 10:06:41
【问题描述】:

对于C++中的windows编程,如何使活动窗口最大化或最小化?

对于鼠标按下事件,我们使用mi.dwFlags = MOUSEEVENTF_LEFTDOWN 之类的东西,并使用SendInput() 函数将其发送到系统。我假设这些是在 windows.h 中定义的。

如何在这些线上实现最大化或最小化?

【问题讨论】:

标签: c++ windows winforms


【解决方案1】:

ShowWindow 函数与 SW_MAXIMIZE 或 SW_MINIMIZE 一起使用。

【讨论】:

  • 那么如何获取屏幕上任意窗口的句柄呢?
  • 或者更确切地说是屏幕上的活动/前景窗口,我们可以显式调用这个函数吗?
  • 程序最小化其他应用程序的窗口通常被认为是不礼貌的。如果用户希望其他窗口保持打开状态怎么办?
  • @Raymond :这是要求
  • 什么要求你的程序是粗鲁的?
【解决方案2】:

您可以使用以下代码获取前台窗口:

#include <windows.h>
HWND foregroundWindow = GetForegroundWindow();

然后使用foregroundWindow作为句柄最小化前景窗口

ShowWindow(foregroundWindow, SW_MINIMIZE);

或最大化它

ShowWindow(foregroundWindow, SW_MAXIMIZE);

但我不知道如何知道其他窗口的句柄,你可以谷歌它或在 StackOverflow 中询问如何通过进程名称或 PID 获取窗口。

【讨论】:

    猜你喜欢
    • 2017-07-30
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    相关资源
    最近更新 更多