mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 20:33:22 +00:00
[EXPLORER] Quick taskbar menu even if any halted window (#4165)
Optimized for speed. CORE-17894
This commit is contained in:
parent
403222dd4f
commit
f636b96eee
1 changed files with 21 additions and 14 deletions
|
@ -488,27 +488,34 @@ public:
|
||||||
|
|
||||||
HICON GetWndIcon(HWND hwnd)
|
HICON GetWndIcon(HWND hwnd)
|
||||||
{
|
{
|
||||||
HICON hIcon = 0;
|
HICON hIcon = NULL;
|
||||||
|
#define GET_ICON(type) \
|
||||||
|
SendMessageTimeout(hwnd, WM_GETICON, (type), 0, SMTO_ABORTIFHUNG, 100, (PDWORD_PTR)&hIcon)
|
||||||
|
|
||||||
SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL2, 0, SMTO_ABORTIFHUNG, 1000, (PDWORD_PTR) &hIcon);
|
LRESULT bAlive = GET_ICON(ICON_SMALL2);
|
||||||
if (hIcon)
|
if (hIcon)
|
||||||
return hIcon;
|
return hIcon;
|
||||||
|
|
||||||
SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL, 0, SMTO_ABORTIFHUNG, 1000, (PDWORD_PTR) &hIcon);
|
if (bAlive)
|
||||||
|
{
|
||||||
|
bAlive = GET_ICON(ICON_SMALL);
|
||||||
|
if (hIcon)
|
||||||
|
return hIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bAlive)
|
||||||
|
{
|
||||||
|
GET_ICON(ICON_BIG);
|
||||||
|
if (hIcon)
|
||||||
|
return hIcon;
|
||||||
|
}
|
||||||
|
#undef GET_ICON
|
||||||
|
|
||||||
|
hIcon = (HICON)GetClassLongPtr(hwnd, GCL_HICONSM);
|
||||||
if (hIcon)
|
if (hIcon)
|
||||||
return hIcon;
|
return hIcon;
|
||||||
|
|
||||||
SendMessageTimeout(hwnd, WM_GETICON, ICON_BIG, 0, SMTO_ABORTIFHUNG, 1000, (PDWORD_PTR) &hIcon);
|
return (HICON)GetClassLongPtr(hwnd, GCL_HICON);
|
||||||
if (hIcon)
|
|
||||||
return hIcon;
|
|
||||||
|
|
||||||
hIcon = (HICON) GetClassLongPtr(hwnd, GCL_HICONSM);
|
|
||||||
if (hIcon)
|
|
||||||
return hIcon;
|
|
||||||
|
|
||||||
hIcon = (HICON) GetClassLongPtr(hwnd, GCL_HICON);
|
|
||||||
|
|
||||||
return hIcon;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT UpdateTaskItemButton(IN PTASK_ITEM TaskItem)
|
INT UpdateTaskItemButton(IN PTASK_ITEM TaskItem)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue