当前位置: 首页 > 知识库问答 >
问题:

C++WinAPI需要帮助,以编程方式用左键单击任务栏使窗口最小化

汪翰墨
2023-03-14

null

这是主窗口的WM_ACTIVATEAPP的代码:

case WM_ACTIVATEAPP:
    if(LOWORD(wParam) == FALSE)
        SendMessage(hWndParent,WM_SYSCOMMAND,SC_MINIMIZE,NULL);
    break;

当你左键点击任务栏,它将最小化,但一旦你释放点击…窗户将被修复。是不是少了什么?我想让它最小化后,你释放点击。

null

共有1个答案

闻人凯泽
2023-03-14

您可能也没有处理WM_NCACTIVATE。尝试处理它,类似于这样:

case WM_NCACTIVATE:
    break;
case WM_ACTIVATEAPP:
    if (LOWORD(wParam) == FALSE)
        SendMessage(hWnd, WM_SYSCOMMAND, SC_MINIMIZE, NULL);
    break;

编辑:

我一定是漏掉了你的问题中你说你通过将样式设置为0来删除默认条的部分。这绝对不是正确的方法,您应该按照下面的思路做一些事情:

LONG lStyle = GetWindowLong(hWnd, GWL_STYLE);
lStyle &= ~(WS_CAPTION | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE | WS_SYSMENU);
SetWindowLong(hWnd, GWL_STYLE, lStyle);

这样做之后,您应该不再需要处理WM_ACTIVATEAPP或WM_NCATIVATE来正确地最小化/最大化窗口。

 类似资料:
  • 如何在UWP上以编程方式最小化应用程序窗口,就像用户点击了应用程序栏上的最小化按钮一样? 比如说,在我的应用程序中,用户点击了一个按钮来执行一些处理,现在除了等待它完成之外,没有什么可以做的了。在这种情况下,我想最小化我的应用程序自动。 null 这是针对C++Windows通用应用程序的。

  • 需要帮助使用Mockito和JUnit4为下面的代码编写单元测试,

  • 问题内容: 有什么办法以编程方式最小化JInternalFrame? 问题答案: “图标化或取消图标化此内部框架…”

  • 我用pyGtk制作了一扇没有装饰的窗户。该窗口隐藏在任务栏和所有窗口的顶部。在linux上,它可以正常工作,但在MS Windows窗口上,它有时会隐藏在其他窗口下,并且在Windows中的任务栏上总是有“python.exe”。 代表我问题的图片: 如何从任务栏隐藏这个“python.exe”窗口? 我的代码:

  • 问题内容: 我有以下示例字符串 我只对 test6IAmInterestedIn 感兴趣,它位于第四个斜杠之后,可以包含3个字符,多个字母并以3个数字结尾,即。 我想在上述正则表达式中添加的内容是,我总是在匹配的第四个斜杠之后选择字符串。我该怎么办? 问题答案: 你可以试试这个演示 哪里 匹配包含正斜杠的4个块 捕捉您想要的图案

  • 发布这个问题的人似乎和我一样使用了同样的Bazel交叉构建教程,但他们对根本原因得出了非常不同的结论(即,他们声称这是由于输入错误的include路径导致的用户错误)。在我的例子中,所有路径都是正确的,但它们被nsync的构建忽略/重写。我真的需要一些帮助来弄清楚需要什么更改才能用Linaro工具链正确构建nsync。 下面是一个小脚本,它在我的系统上100%地重现了这个问题: 下面是我运行它时得