23 #include <commoncontrols.h> 29 #define WM_APP_TRAYDESTROY (WM_APP + 0x100) 31 #define TIMER_ID_AUTOHIDE 1 32 #define TIMER_ID_MOUSETRACK 2 33 #define MOUSETRACK_INTERVAL 100 34 #define AUTOHIDE_DELAY_HIDE 2000 35 #define AUTOHIDE_DELAY_SHOW 50 36 #define AUTOHIDE_INTERVAL_ANIMATING 10 38 #define AUTOHIDE_SPEED_SHOW 10 39 #define AUTOHIDE_SPEED_HIDE 1 41 #define AUTOHIDE_HIDDEN 0 42 #define AUTOHIDE_SHOWING 1 43 #define AUTOHIDE_SHOWN 2 44 #define AUTOHIDE_HIDING 3 46 #define IDHK_RUN 0x1f4 47 #define IDHK_MINIMIZE_ALL 0x1f5 48 #define IDHK_RESTORE_ALL 0x1f6 49 #define IDHK_HELP 0x1f7 50 #define IDHK_EXPLORE 0x1f8 51 #define IDHK_FIND 0x1f9 52 #define IDHK_FIND_COMPUTER 0x1fa 53 #define IDHK_NEXT_TASK 0x1fb 54 #define IDHK_PREV_TASK 0x1fc 55 #define IDHK_SYS_PROPERTIES 0x1fd 56 #define IDHK_DESKTOP 0x1fe 57 #define IDHK_PAGER 0x1ff 95 RECT rcWindow, rcMonitor, rcIntersect;
96 rcMonitor =
info.rcMonitor;
121 if (ei.hwndFound &&
FALSE)
128 return ei.hwndFound !=
NULL;
137 const GUID IID_IShellDesktopTray = { 0x213e2df9, 0x9a14, 0x4328, { 0x99, 0xb1, 0x69, 0x61, 0xf9, 0x14, 0x3c, 0xe9 } };
188 NONCLIENTMETRICS ncm = {
sizeof(ncm)};
195 ncm.lfCaptionFont.lfWeight =
FW_BOLD;
219 WCHAR szStartCaption[32];
225 wcscpy(szStartCaption,
L"Start");
265 public CWindowImpl < CTrayWindow, CWindow, CControlWinTraits >,
267 public IShellDesktopTray,
381 WCHAR szCommand[256];
382 WCHAR *pszParameters;
392 pszParameters =
wcschr(szCommand,
L'>');
444 CStringW strDefaultDir, strHomePath;
447 strDefaultDir += strHomePath;
460 return This->RunFileDlgThread();
469 if (hRunDlg !=
NULL &&
513 return This->TrayPropertiesThread();
523 if (hTrayProp !=
NULL &&
643 TRACE(
"ITrayWindow::ExecContextMenuCmd(%u): Unhandled Command ID!\n", uiCmd);
792 if (hwndExclude !=
NULL)
839 fuFlags |= (TrackUp ? TPM_VERNEGANIMATION : TPM_VERPOSANIMATION);
879 TRACE(
"Before Query\n");
880 hr = contextMenu->QueryContextMenu(popup, 0, 0,
UINT_MAX, CMF_NORMAL);
883 TRACE(
"Query failed\n");
888 TRACE(
"Before Tracking\n");
906 TRACE(
"Before InvokeCommand\n");
911 hr = contextMenu->InvokeCommand(&cmi);
915 TRACE(
"TrackPopupMenu failed. Code=%d, LastError=%d\n", uCommand,
GetLastError());
939 NONCLIENTMETRICS ncm = {
sizeof(ncm)};
942 ERR(
"SPI_GETNONCLIENTMETRICS failed\n");
953 ERR(
"CreateFontIndirect failed\n");
1004 pt.x = pRect->left + ((pRect->right - pRect->left) / 2);
1005 pt.y = pRect->top + ((pRect->bottom - pRect->top) / 2);
1020 if (hMonitor !=
NULL)
1034 goto GetPrimaryRect;
1082 IN const SIZE *pTraySize,
1088 pRect->right = pRect->left + pTraySize->cx;
1092 pRect->bottom = pRect->top + pTraySize->cy;
1096 pRect->left = pRect->right - pTraySize->cx;
1101 pRect->top = pRect->bottom - pTraySize->cy;
1111 if (pTraySize ==
NULL)
1143 szWnd.
cx = pRect->right - pRect->left;
1144 szWnd.
cy = pRect->bottom - pRect->top;
1149 MONITOR_DEFAULTTONEAREST);
1155 if (szWnd.
cx > szMax.
cx)
1156 szWnd.
cx = szMax.
cx;
1157 if (szWnd.
cy > szMax.
cy)
1158 szWnd.
cy = szMax.
cy;
1172 GetMinimumWindowSize(
1196 SIZE DeltaPt, ScreenOffset;
1212 goto GetPrimaryScreenRect;
1227 GetPrimaryScreenRect:
1228 ScreenOffset.
cx = 0;
1229 ScreenOffset.
cy = 0;
1235 if (
pt.x < rcScreen.
right / 2)
1267 if (hMon != hMonNew)
1300 pt.x = pRect->left + ((pRect->right - pRect->left) / 2);
1301 pt.y = pRect->top + ((pRect->bottom - pRect->top) / 2);
1315 rcTray.
left = pwp->x;
1316 rcTray.
top = pwp->y;
1348 rcTray.
left = pwp->x;
1349 rcTray.
top = pwp->y;
1394 pwp->x = rcTray.
left;
1395 pwp->y = rcTray.
top;
1403 RECT rcClip, rcWindow;
1440 #if !WIN7_DEBUG_MODE 1441 RECT rcTray, rcWorkArea;
1515 SIZE WndSize, EdgeSize, DlgFrameSize;
1555 WndSize.
cx = 2 * (EdgeSize.
cx + DlgFrameSize.
cx);
1556 WndSize.
cy = StartBtnSize.
cy + (2 * (EdgeSize.
cy + DlgFrameSize.
cy));
1560 WndSize.
cx = StartBtnSize.
cx;
1561 WndSize.
cy = StartBtnSize.
cy - EdgeSize.
cx;
1592 SIZE TraySize, StartSize;
1593 POINT ptTrayNotify = { 0, 0 };
1598 if (prcClient !=
NULL)
1600 rcClient = *prcClient;
1624 if (StartSize.
cx > rcClient.
right)
1625 StartSize.
cx = rcClient.
right;
1630 if (hwndTaskToolbar)
1649 ERR(
"DeferWindowPos for start button failed. lastErr=%d\n",
GetLastError());
1674 ptTrayNotify.
x = rcClient.
right - TraySize.cx;
1676 ptTrayNotify.
y = rcClient.
bottom - TraySize.cy;
1688 ERR(
"DeferWindowPos for notification area failed. lastErr=%d\n",
GetLastError());
1696 POINT ptRebar = { 0, 0 };
1704 szRebar.
cx = ptTrayNotify.
x - ptRebar.
x;
1711 szRebar.
cy = ptTrayNotify.
y - ptRebar.
y;
1737 RECT rebarRect, taskbarRect, clientRect;
1754 pRect->
bottom = pRect->
top + rebarRect.bottom - rebarRect.top +
margins.cy;
1757 rebarRect.top = rebarRect.bottom - (pRect->
bottom - pRect->
top -
margins.cy);
1759 pRect->
top = pRect->
bottom - (rebarRect.bottom - rebarRect.top +
margins.cy);
1762 rebarRect.right = rebarRect.left + (pRect->
right - pRect->
left -
margins.cx);
1764 pRect->
right = pRect->
left + (rebarRect.right - rebarRect.left +
margins.cx);
1767 rebarRect.left = rebarRect.right - (pRect->
right - pRect->
left -
margins.cx);
1769 pRect->
left = pRect->
right - (rebarRect.right - rebarRect.left +
margins.cx);
1790 pt.y = rcExclude.
top;
1800 pt.y = rcExclude.
top;
1805 pt.y = rcExclude.
top;
1837 TRACE(
"AutoHide cancelling hide.\n");
1843 TRACE(
"AutoHide starting show.\n");
1852 TRACE(
"AutoHide cancelling show.\n");
1858 TRACE(
"AutoHide starting hide.\n");
2141 RECT rcGripper = {0};
2216 ((ITrayWindow*)
this)->AddRef();
2313 if (
wParam == SPI_SETNONCLIENTMETRICS)
2352 switch (pCopyData->
dwData)
2415 if (
pt.y > rcClient.bottom)
2419 if (
pt.x > rcClient.right)
2423 if (
pt.x < rcClient.left)
2428 if (
pt.y < rcClient.top)
2496 rcClient.
left = rcClient.
top = 0;
2540 static const UINT uidDisableItem [] = {
2554 if (hSysMenu !=
NULL)
2673 if (
pt.x != -1 ||
pt.y != -1)
2695 POINT ptClient = *ppt;
2701 if (hWndAtPt !=
NULL &&
2710 goto HandleTrayContextMenu;
2716 goto HandleTrayContextMenu;
2720 HandleTrayContextMenu:
2843 return wcscmp(szClass,
L"#32770") == 0;
2854 if (!
info->bShowDesktop)
2879 info.bShowDesktop = bShowDesktop;
2973 rc = &prms->
rgrc[0];
3021 szWindow.
cx - szTarget.
cx,
3022 szWindow.
cy - szTarget.
cx,
3028 szWindow.
cx = szActual.
cx + borders.
cx;
3031 szWindow.
cy = szActual.
cy + borders.
cy;
3034 szWindow.
cx = szActual.
cx + borders.
cx;
3038 szWindow.
cy = szActual.
cy + borders.
cy;
3179 if (!Ret || Ret == -1)
3204 TRACE(
"IShellDesktopTray::GetState() unimplemented!\n");
3210 TRACE(
"IShellDesktopTray::GetTrayWindow(0x%p)\n", phWndTray);
3217 TRACE(
"IShellDesktopTray::RegisterDesktopWindow(0x%p)\n", hWndDesktop);
3225 TRACE(
"IShellDesktopTray::Unknown(%u,%u) unimplemented!\n", dwUnknown1, dwUnknown2);
3278 this->hWndOwner = hWndOwner;
3279 this->m_idCmdCmFirst = 0;
3301 mii.
dwTypeData = const_cast<LPWSTR>(&strRestoreAll[0]);
3321 m_idCmdCmFirst = idCmdNext - idCmdFirst;
3325 if (TrayWnd->m_TrayBandSite !=
NULL)
3327 if (
FAILED(TrayWnd->m_TrayBandSite->AddContextMenus(
3335 WARN(
"AddContextMenus failed.\n");
3349 if (uiCmdId >= m_idCmdCmFirst)
3356 cmici.
cbSize =
sizeof(cmici);
3357 cmici.
hwnd = hWndOwner;
3361 pcm->InvokeCommand(&cmici);
3366 TrayWnd->ExecContextMenuCmd(uiCmdId);
3413 *ppTray = (ITrayWindow *) Tray;
3421 CTrayWindow * TrayWindow = static_cast<CTrayWindow *>(Tray);
3427 CTrayWindow * TrayWindow = static_cast<CTrayWindow *>(Tray);
3428 TrayWindow->TrayProcessMessages();
3433 CTrayWindow * TrayWindow = static_cast<CTrayWindow *>(Tray);
HGDIOBJ WINAPI GetStockObject(_In_ int)
EXTERN_C BOOL WINAPI SHFindComputer(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
HRESULT WINAPI GetThemePartSize(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *prc, THEMESIZE eSize, SIZE *psz)
HMONITOR WINAPI MonitorFromPoint(POINT, DWORD)
LRESULT OnGetTaskSwitch(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HMONITOR GetMonitorFromRect(IN const RECT *pRect)
BOOL IsWindowEnabled() const
#define TRAYCMD_HELP_AND_SUPPORT
LRESULT OnCopyData(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
int MapWindowPoints(HWND hWndTo, LPPOINT lpPoint, UINT nCount) const
static DWORD WINAPI s_TrayPropertiesThread(IN OUT PVOID pParam)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
HDWP WINAPI BeginDeferWindowPos(_In_ int)
WORD WINAPI TileWindows(_In_opt_ HWND hwndParent, _In_ UINT wHow, _In_opt_ CONST RECT *lpRect, _In_ UINT cKids, _In_reads_opt_(cKids) const HWND FAR *lpKids)
LRESULT HandleHotKey(DWORD id)
GLubyte GLubyte GLubyte GLubyte w
#define HRESULT_FROM_WIN32(x)
#define AUTOHIDE_INTERVAL_ANIMATING
LRESULT OnEnterSizeMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HRESULT STDMETHODCALLTYPE InvokeCommand(LPCMINVOKECOMMANDINFO lpici)
#define ABN_WINDOWARRANGE
LRESULT OnDisplayChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define ID_SHELL_CMD_PROPERTIES
#define TWM_DOEXITWINDOWS
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
#define IDHK_FIND_COMPUTER
LRESULT OnThemeChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
void FitToRebar(PRECT pRect)
#define IDHK_SYS_PROPERTIES
VOID GetTrayRectFromScreenRect(IN DWORD Position, IN const RECT *pScreen, IN const SIZE *pTraySize OPTIONAL, OUT RECT *pRect)
DWORD WINAPI TrayPropertiesThread()
HRESULT ShutdownShellServices(HDPA hdpa)
void SetFont(HFONT hFont, BOOL bRedraw=TRUE)
HRESULT STDMETHODCALLTYPE GetCommandString(UINT_PTR idCmd, UINT uType, UINT *pwReserved, LPSTR pszName, UINT cchMax)
#define AUTOHIDE_SPEED_SHOW
#define ID_SHELL_CMD_RESTORE_ALL
#define ID_SHELL_CMD_UNDO_ACTION
BOOL ShowWindowAsync(int nCmdShow)
LRESULT OnMoving(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HWND Create(HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HWND GetLastActivePopup() const
LRESULT HandleCommand(UINT uCommand)
#define ID_SHELL_CMD_OPEN_TASKMGR
TW_UINT32 TW_UINT16 TW_UINT16 MSG
VOID ShowCustomizeNotifyIcons(HINSTANCE hInst, HWND hExplorer)
LRESULT OnNcLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS)
HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT)
#define TNWM_GETMINIMUMSIZE
#define DECLARE_WND_CLASS_EX(WndClassName, style, bkgnd)
CComPtr< IContextMenu > m_ContextMenu
#define ID_SHELL_CMD_SHOW_DESKTOP
LRESULT OnNcLButtonDblClick(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define TIMER_ID_AUTOHIDE
BOOL SetWindowPos(HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
#define AUTOHIDE_DELAY_SHOW
int DrawSizerWithTheme(IN HRGN hRgn)
IMenuPopup * CreateStartMenu(IN ITrayWindow *Tray, OUT IMenuBand **ppMenuBand, IN HBITMAP hbmBanner OPTIONAL, IN BOOL bSmallIcons)
virtual HRESULT STDMETHODCALLTYPE GetTrayWindow(OUT HWND *phWndTray)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
IN PVOID IN PVOID IN USHORT IN USHORT Size
BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD)
DWORD WINAPI GetLastError(VOID)
LRESULT OnHotkey(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
#define DECLARE_NOT_AGGREGATABLE(x)
#define MAKEINTRESOURCEA(i)
LRESULT OnExitSizeMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
DWORD GetDraggingRectFromPt(IN POINT pt, OUT RECT *pRect, OUT HMONITOR *phMonitor)
#define ID_SHELL_CMD_CUST_NOTIF
HMONITOR GetScreenRectFromRect(IN OUT RECT *pRect, IN DWORD dwFlags)
#define TRAYCMD_RESTORE_ALL
#define IDHK_MINIMIZE_ALL
#define AUTOHIDE_DELAY_HIDE
#define TRAYCMD_TOGGLE_DESKTOP
CComPtr< ITrayBandSite > m_TrayBandSite
static BOOL CALLBACK FindEffectiveProc(HWND hwnd, LPARAM lParam)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
HMONITOR CalculateValidSize(IN DWORD Position, IN OUT RECT *pRect)
#define SetWindowStyle(hwnd, val)
BOOL WINAPI IsIconic(_In_ HWND)
VOID CheckTrayWndPosition()
#define IID_PPV_ARG(Itype, ppType)
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
#define TWM_GETTASKSWITCH
LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
static BOOL IsThereAnyEffectiveWindow(BOOL bMustBeInMonitor)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define ID_SHELL_CMD_CASCADE_WND
#define SWP_NOSENDCHANGING
LRESULT OnDoExitWindows(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
void appbar_notify_all(HMONITOR hMon, UINT uMsg, HWND hwndExclude, LPARAM lParam)
HWND STDMETHODCALLTYPE DisplayProperties()
HRESULT CStartMenuBtnCtxMenu_CreateInstance(ITrayWindow *TrayWnd, IN HWND hWndOwner, IContextMenu **ppCtxMenu)
LRESULT OnCtlColorBtn(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define TRAYCMD_SHOW_DESKTOP
VOID OpenTaskManager(IN HWND hWndOwner)
LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HMONITOR m_PreviousMonitor
#define TRAYCMD_SHOW_TASK_MGR
GLfloat GLfloat GLfloat GLfloat h
LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
int WINAPI GetClassNameW(_In_ HWND hWnd, _Out_writes_to_(nMaxCount, return) LPWSTR lpClassName, _In_ int nMaxCount)
BOOL STDMETHODCALLTYPE IsSpecialHWND(IN HWND hWnd)
LRESULT appbar_message(COPYDATASTRUCT *cds)
LRESULT EraseBackgroundWithTheme(HDC hdc)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
BOOL IsChild(const HWND hWnd) const
HRESULT CTrayNotifyWnd_CreateInstance(HWND hwndParent, REFIID riid, void **ppv)
BOOL SubclassWindow(HWND hWnd)
LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
VOID DisplayTrayProperties(IN HWND hwndOwner, IN HWND hwndTaskbar)
VOID MakeTrayRectWithSize(IN DWORD Position, IN const SIZE *pTraySize, IN OUT RECT *pRect)
HRESULT Tray_OnStartMenuDismissed(ITrayWindow *Tray)
static const WCHAR szText[]
GLenum const GLfloat * params
#define TWM_SETTINGSCHANGED
CSimpleArray< HWND > * pMinimizedAll
TRACKMOUSEEVENT m_MouseTrackingInfo
#define MDITILE_HORIZONTAL
UINT_PTR SetTimer(UINT_PTR nIDEvent, UINT nElapse, void(CALLBACK *lpfnTimer)(HWND, UINT, UINT_PTR, DWORD)=NULL)
#define TRAYCMD_DATE_AND_TIME
BOOL WINAPI EndDeferWindowPos(_In_ HDWP)
#define CWP_SKIPINVISIBLE
void ProcessMouseTracking()
BOOL STDMETHODCALLTYPE Lock(IN BOOL bLock)
#define MOUSETRACK_INTERVAL
BOOL GetClientRect(LPRECT lpRect) const
static BOOL CALLBACK MinimizeWindowsProc(HWND hwnd, LPARAM lParam)
HRESULT STDMETHODCALLTYPE Open()
HRESULT WINAPI SetWindowTheme(_In_ HWND hwnd, _In_ LPCWSTR pszSubAppName, _In_ LPCWSTR pszSubIdList)
CSimpleArray< HWND > g_MinimizedAll
BOOL KillTimer(UINT_PTR nIDEvent)
BOOL WINAPI SHFindFiles(PCIDLIST_ABSOLUTE pidlFolder, PCIDLIST_ABSOLUTE pidlSaveFile)
BOOL GetWindowRect(LPRECT lpRect) const
VOID TrayProcessMessages(ITrayWindow *Tray)
BOOL WINAPI SetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOW)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
CComPtr< IDeskBand > m_TaskBand
VOID OpenCommonStartMenuDirectory(IN HWND hWndOwner, IN LPCTSTR lpOperation)
#define TRAYCMD_SEARCH_FILES
HWND WINAPI GetDesktopWindow(void)
TaskbarSettings g_TaskbarSettings
#define TRAYCMD_MINIMIZE_ALL
HRESULT CreateTrayWindow(ITrayWindow **ppTray)
HWND m_TrayPropertiesOwner
#define TWM_OPENSTARTMENU
#define ID_SHELL_CMD_EXPLORE_ALL_USERS
#define CSIDL_COMMON_STARTMENU
DWORD WINAPI RunFileDlgThread()
#define TRAYCMD_PRINTERS_AND_FAXES
HRESULT ExecResourceCmd(int id)
#define TIMER_ID_MOUSETRACK
void WINAPI RunFileDlg(HWND hWndOwner, HICON hIcon, LPCWSTR lpstrDirectory, LPCWSTR lpstrTitle, LPCWSTR lpstrDescription, UINT uFlags)
#define TRAYCMD_SEARCH_COMPUTERS
CStartButton m_StartButton
LRESULT OnRebarAutoSize(INT code, LPNMHDR nmhdr, BOOL &bHandled)
virtual HRESULT RaiseStartButton()
#define TRAYCMD_CUSTOMIZE_TASKBAR
SHORT WINAPI GetKeyState(_In_ int)
BOOL WINAPI SystemParametersInfoW(_In_ UINT, _In_ UINT, _Inout_opt_ PVOID, _In_ UINT)
LRESULT OnSettingChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
virtual ULONG STDMETHODCALLTYPE GetState()
int SetWindowRgn(HRGN hRgn, BOOL bRedraw=FALSE)
virtual HRESULT STDMETHODCALLTYPE RegisterDesktopWindow(IN HWND hWndDesktop)
_Must_inspect_result_ _In_ ULONG Flags
CComPtr< IMenuBand > m_StartMenuBand
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define MDITILE_SKIPDISABLED
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
HWND WINAPI FindWindowW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR)
void WINAPI ExitWindowsDialog(HWND hWndOwner)
HMONITOR m_DraggingMonitor
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
BOOL WINAPI GetMonitorInfoW(_In_ HMONITOR, _Inout_ LPMONITORINFO)
HINSTANCE hExplorerInstance
#define TRAYCMD_TASKBAR_PROPERTIES
#define WM_WINDOWPOSCHANGING
#define FAILED_UNEXPECTEDLY(hr)
NOTIFY_CODE_HANDLER(RBN_AUTOSIZE, OnRebarAutoSize) VOID TrayProcessMessages()
const GUID IID_IShellDesktopTray
#define STDMETHODCALLTYPE
BOOL WINAPI EnumWindows(_In_ WNDENUMPROC, _In_ LPARAM)
int WINAPI GetSystemMetrics(_In_ int)
HRESULT CTrayBandSite_CreateInstance(IN ITrayWindow *tray, IN IDeskBand *pTaskBand, OUT ITrayBandSite **pBandSite)
DWORD GetDraggingRectFromRect(IN OUT RECT *pRect, OUT HMONITOR *phMonitor)
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
unsigned __int3264 UINT_PTR
struct tagNMRBAUTOSIZE * LPNMRBAUTOSIZE
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
LRESULT OnSysChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
#define BUTTON_IMAGELIST_ALIGN_LEFT
LRESULT OnSizing(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL GetEnvironmentVariable(_In_z_ PCXSTR pszVar)
HRESULT InitShellServices(HDPA *phdpa)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define LR_LOADTRANSPARENT
LONG GetWindowLong(int nIndex) const
CComPtr< IMenuPopup > m_StartMenuPopup
VOID ApplyClipping(IN BOOL Clip)
VOID ChangingWinPos(IN OUT LPWINDOWPOS pwp)
LRESULT OnOpenStartMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
UINT TrackMenu(IN HMENU hMenu, IN POINT *ppt OPTIONAL, IN HWND hwndExclude OPTIONAL, IN BOOL TrackUp, IN BOOL IsContextMenu)
LRESULT OnInitMenuPopup(INT code, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI IntersectRect(_Out_ LPRECT, _In_ LPCRECT, _In_ LPCRECT)
#define ID_SHELL_CMD_OPEN_ALL_USERS
struct tagWINDOWINFO WINDOWINFO
BOOL WINAPI DestroyMenu(_In_ HMENU)
LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define ID_SHELL_CMD_TILE_WND_H
#define TRAYCMD_RUN_DIALOG
static DWORD WINAPI s_RunFileDlgThread(IN OUT PVOID pParam)
VOID AdjustSizerRect(RECT *rc, DWORD pos)
#define RFF_CALCDIRECTORY
HMENU LoadPopupMenu(IN HINSTANCE hInstance, IN LPCWSTR lpMenuName)
LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
HWND ChildWindowFromPoint(POINT point) const
#define TSWM_UPDATETASKBARPOS
#define AUTOHIDE_SPEED_HIDE
HMENU GetSystemMenu(BOOL bRevert)
BOOL WINAPI GetWindowInfo(_In_ HWND, _Inout_ PWINDOWINFO)
BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT)
BOOL ShowWindow(int nCmdShow)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
VOID MinimizeAll(BOOL bShowDesktop=FALSE)
BOOL PostMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
#define SHGetSpecialFolderPath
LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HBITMAP WINAPI LoadBitmapW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define TRAYCMD_SWITCH_USER_DIALOG
LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define COM_INTERFACE_ENTRY_IID(iid, x)
#define TRAYCMD_STARTMENU
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
VOID AlignControls(IN PRECT prcClient OPTIONAL)
#define LR_CREATEDIBSECTION
HMONITOR WINAPI MonitorFromWindow(HWND, DWORD)
WORD WINAPI CascadeWindows(_In_opt_ HWND hwndParent, _In_ UINT wHow, _In_opt_ CONST RECT *lpRect, _In_ UINT cKids, _In_reads_opt_(cKids) const HWND FAR *lpKids)
#define TRAYCMD_LOCK_DESKTOP
#define TRAYCMD_LOCK_TASKBAR
#define CreateFontIndirect
#define TABDMC_LOADINPROC
LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnTaskbarSettingsChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define WM_APP_TRAYDESTROY
LRESULT OnNcRButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HRESULT STDMETHODCALLTYPE Close()
HMONITOR GetScreenRect(IN HMONITOR hMonitor, IN OUT RECT *pRect)
CComPtr< IUnknown > m_TrayNotifyInstance
#define BEGIN_MSG_MAP(theClass)
#define TRAYCMD_SHUTDOWN_DIALOG
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
HMENU WINAPI CreatePopupMenu(void)
HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpbmp, INT cx, INT cGrow, COLORREF clrMask, UINT uType, UINT uFlags)
#define MESSAGE_HANDLER(msg, func)
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
BOOL STDMETHODCALLTYPE IsHorizontal()
#define TRAYCMD_LOGOFF_DIALOG
HRESULT WINAPI GetWindow(HWND *phwnd)
#define MM_SUBMENUSHAVEIDS