c++ - ShowWindow 仅在最后一次最小化时恢复窗口
问题描述
我正在尝试用 C++ 制作一个显示最小化计算器的程序。
如果我最小化它,它会起作用,但如果我最小化计算器,然后是另一个程序(如 Firefox),则该程序不再显示计算器。
int main()
{
hwnd = FindWindow(NULL,TEXT("Calculator"));
ShowWindow(hwnd, SW_SHOW);
return 0;
}
解决方案
如果计算器被最小化(参见IsIconic()
),那么您应该使用SW_RESTORE
而不是SW_SHOW
,根据ShowWindow()
文档:
SW_RESTORE
9激活并显示窗口。如果窗口被最小化或最大化,系统会将其恢复到原来的大小和位置。应用程序在恢复最小化窗口时应指定此标志。
SW_SHOW
5激活窗口并以其当前大小和位置显示它。
尝试这个:
int main()
{
HWND hwnd = FindWindow(NULL, TEXT("Calculator"));
if (hwnd)
{
if (IsIconic(hwnd))
ShowWindow(hwnd, SW_RESTORE);
else
ShowWindow(hwnd, SW_SHOW);
}
return 0;
}
推荐阅读
- android - 后台服务无通知
- python - CERBOT ContextualVersionConflict: (zope.interface 4.3.2 (/usr/lib/python3/dist-packages)
- dart - 如何在飞镖中值部分的地图数据结构中分配变量?
- forms - 按钮打开表格
- python - 我尝试使用带有 OpenAI gym Environment 的 pytorch 实现 DQN。但是我的episode_rewardis减少了。为什么?
- c# - 如何读取和存储以多种方式分离的多个数据?
- python - 为什么检查单词是否是字典中的键不起作用?
- c++ - 如何从可变参数模板包和使用相同模板类型的对象列表中初始化向量元组?
- c++ - 使用枚举值和可变参数模板制作 constexpr 二进制掩码
- node.js - 串流并保存