#include <shellapi.h>
static PAPPLICATION_INFO AppInfo;
-static HICON hIcon = NULL;
typedef struct _IBindStatusCallbackImpl
{
switch (Msg)
{
case WM_INITDIALOG:
+ HICON hIconSm = NULL, hIconBg = NULL;
- hIcon = LoadIconW(hInst, MAKEINTRESOURCEW(IDI_MAIN));
- if (hIcon)
+ hIconBg = (HICON)GetClassLongPtr(hMainWnd, GCLP_HICON);
+ hIconSm = (HICON)GetClassLongPtr(hMainWnd, GCLP_HICONSM);
+
+ if (hIconBg && hIconSm)
{
- SendMessageW(Dlg, WM_SETICON, ICON_BIG, (LPARAM) hIcon);
- SendMessageW(Dlg, WM_SETICON, ICON_SMALL, (LPARAM) hIcon);
+ SendMessageW(Dlg, WM_SETICON, ICON_BIG, (LPARAM) hIconBg);
+ SendMessageW(Dlg, WM_SETICON, ICON_SMALL, (LPARAM) hIconSm);
}
SetWindowLongPtrW(Dlg, GWLP_USERDATA, 0);
return FALSE;
case WM_CLOSE:
- if (hIcon) DestroyIcon(hIcon);
EndDialog(Dlg, 0);
return TRUE;