我正在尝试用 C++ 制作一个显示最小化计算器的程序。
如果我最小化它,它会起作用,但如果我最小化计算器,然后是另一个程序(如 Firefox),则该程序不再显示计算器。
int main()
{
hwnd = FindWindow(NULL,TEXT("Calculator"));
ShowWindow(hwnd, SW_SHOW);
return 0;
}
我正在尝试用 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;
}