如何使用WinAPI更改标题栏图标

Kil*_*ing 1 c c++ windows winapi visual-studio

我使用Windows API制作了一个应用程序,并使用资源文件夹将图标更改为我制作的自定义图标。现在程序正在使用我在桌面上的图标,但是标题栏中有默认图标,准确地说就是这个图标。默认图标

现在我应该如何将其更改为自定义图标?我正在使用MSVC ++

WNDCLASS wndclass;

wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;


hwnd = CreateWindow(szAppName,
    TEXT("Random"),
    WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    300,
    120,
    NULL,
    NULL,
    hInstance,
    NULL);
Run Code Online (Sandbox Code Playgroud)

Jon*_*ter 5

如果RegisterClassEx用于注册窗口类,则该WNDCLASSEX结构具有一个hIconSm字段,可让您指定一个小图标。如果您采用这种方式,请不要忘记也要初始化该cbSize字段。

或者,您可以在创建后使用WM_SETICON消息为窗口分配一个小图标。