gpt4 book ai didi

c++ - 创建最小化重叠窗口 (Win32)

转载 作者:行者123 更新时间:2023-11-30 18:04:27 28 4
gpt4 key购买 nike

我想创建一个重叠窗口,该窗口开始时可见(因此任务栏按钮显示)但最小化。使用 WS_MINIMZED(或 WS_MAXIMIZE)创建窗口不会执行任何操作。使用 ShowWindow(hWnd,SW_SHOWMINIMIZED) 会出现严重错误。我怀疑它与 STARTUPINFO 有关,但我找不到任何有关如何调整/更改/劫持它的信息。

hWnd = CreateWindowA(
(LPCSTR)atom,
"Window Name",
WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_MINIMZED, // doesn't work
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
0,
0,
hInstance,
0);

ShowWindow(hWnd,SW_SHOWMINIMIZED); // gives critical error

最佳答案

@Kaisha,你是对的:如果你使用 CreateProcess 启动一个可执行文件,那么窗口的可见性将受到 STARTUPINFO 的影响。要在窗口最小化的情况下启动应用程序,请执行以下操作:

ZeroMemory(&startupInfo, sizeof(startupInfo));
startupInfo.cb = sizeof(startupInfo);
startupInfo.dwFlags = STARTF_USESHOWWINDOW;
startupInfo.wShowWindow = SW_SHOWMINNOACTIVE;

我在一个重复启动 WinZip 命令行版本的应用程序中使用了这种方法,并且效果很好。

关于c++ - 创建最小化重叠窗口 (Win32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7622052/

28 4 0