#define _EXPLORER_PRECOMP__H_
#define WIN7_COMPAT_MODE 0
+#define WIN7_DEBUG_MODE 0
+
+#if WIN7_DEBUG_MODE && !WIN7_COMPAT_MODE
+#undef WIN7_COMPAT_MODE
+#define WIN7_COMPAT_MODE 1
+#endif
#include <stdio.h>
#include <tchar.h>
static inline
LONG
SetWindowStyle(IN HWND hWnd,
-IN LONG dwStyleMask,
-IN LONG dwStyle)
+ IN LONG dwStyleMask,
+ IN LONG dwStyle)
{
return SHSetWindowBits(hWnd, GWL_STYLE, dwStyleMask, dwStyle);
}
static inline
LONG
SetWindowExStyle(IN HWND hWnd,
-IN LONG dwStyleMask,
-IN LONG dwStyle)
+ IN LONG dwStyleMask,
+ IN LONG dwStyle)
{
return SHSetWindowBits(hWnd, GWL_EXSTYLE, dwStyleMask, dwStyle);
}
HMENU
LoadPopupMenu(IN HINSTANCE hInstance,
-IN LPCTSTR lpMenuName);
+ IN LPCWSTR lpMenuName);
HMENU
FindSubMenu(IN HMENU hMenu,
-IN UINT uItem,
-IN BOOL fByPosition);
+ IN UINT uItem,
+ IN BOOL fByPosition);
BOOL
-GetCurrentLoggedOnUserName(OUT LPTSTR szBuffer,
-IN DWORD dwBufferSize);
+GetCurrentLoggedOnUserName(OUT LPWSTR szBuffer,
+ IN DWORD dwBufferSize);
BOOL
FormatMenuString(IN HMENU hMenu,
-IN UINT uPosition,
-IN UINT uFlags,
-...);
+ IN UINT uPosition,
+ IN UINT uFlags,
+ ...);
BOOL
GetExplorerRegValueSet(IN HKEY hKey,
-IN LPCTSTR lpSubKey,
-IN LPCTSTR lpValue);
+ IN LPCWSTR lpSubKey,
+ IN LPCWSTR lpValue);
/*
* rshell.c
STDMETHOD_(HWND, GetHWND) (THIS) PURE;
STDMETHOD_(BOOL, IsSpecialHWND) (THIS_ HWND hWnd) PURE;
STDMETHOD_(BOOL, IsHorizontal) (THIS) PURE;
- STDMETHOD_(HFONT, GetCaptionFonts) (THIS_ HFONT *phBoldCaption) PURE;
STDMETHOD_(HWND, DisplayProperties) (THIS) PURE;
STDMETHOD_(BOOL, ExecContextMenuCmd) (THIS_ UINT uiCmd) PURE;
STDMETHOD_(BOOL, Lock) (THIS_ BOOL bLock) PURE;
#define ITrayWindow_GetHWND(p) (p)->lpVtbl->GetHWND(p)
#define ITrayWindow_IsSpecialHWND(p,a) (p)->lpVtbl->IsSpecialHWND(p,a)
#define ITrayWindow_IsHorizontal(p) (p)->lpVtbl->IsHorizontal(p)
-#define ITrayWindow_GetCaptionFonts(p,a) (p)->lpVtbl->GetCaptionFonts(p,a)
#define ITrayWindow_DisplayProperties(p) (p)->lpVtbl->DisplayProperties(p)
#define ITrayWindow_ExecContextMenuCmd(p,a) (p)->lpVtbl->ExecContextMenuCmd(p,a)
#define ITrayWindow_Lock(p,a) (p)->lpVtbl->Lock(p,a)
LoadAdvancedSettings(VOID);
BOOL
-SaveSettingDword(IN PCTSTR pszKeyName,
-IN PCTSTR pszValueName,
-IN DWORD dwValue);
+SaveSettingDword(IN LPCWSTR pszKeyName,
+ IN LPCWSTR pszValueName,
+ IN DWORD dwValue);
/*
* shellservice.cpp
VOID
DesktopDestroyShellWindow(IN HANDLE hDesktop);
+
/*
- * taskband.cpp
+ * notifyiconscust.cpp
*/
+VOID
+ShowCustomizeNotifyIcons(HINSTANCE, HWND);
-/* Internal Task Band CLSID */
-extern const GUID CLSID_ITaskBand;
-
-#define INTERFACE ITaskBand
-DECLARE_INTERFACE_(ITaskBand, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT, QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- /*** ITaskBand methods ***/
- STDMETHOD_(HRESULT, GetRebarBandID)(THIS_ DWORD *pdwBandID) PURE;
-};
-#undef INTERFACE
-
-#if defined(COBJMACROS)
-/*** IUnknown methods ***/
-#define ITaskBand_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ITaskBand_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ITaskBand_Release(p) (p)->lpVtbl->Release(p)
-/*** ITaskBand methods ***/
-#define ITaskBand_GetRebarBandID(p,a) (p)->lpVtbl->GetRebarBandID(p,a)
-#endif
+/*
+ * taskband.cpp
+ */
-ITaskBand *
-CreateTaskBand(IN OUT ITrayWindow *Tray);
+extern const GUID CLSID_ITaskBand; /* Internal Task Band CLSID */
+HRESULT CTaskBand_CreateInstance(IN ITrayWindow *Tray, REFIID riid, void **ppv);
/*
* tbsite.cpp
#define ITrayBandSite_Lock(p,a) (p)->lpVtbl->Lock(p,a)
#endif
-ITrayBandSite *
-CreateTrayBandSite(IN OUT ITrayWindow *Tray,
-OUT HWND *phWndRebar,
-OUT HWND *phWndTaskSwitch);
+HRESULT CTrayBandSite_CreateInstance(IN ITrayWindow *tray, IN IDeskBand* pTaskBand, OUT ITrayBandSite** pBandSite);
/*
* startmnu.cpp
HRESULT StartMenuBtnCtxMenuCreator(ITrayWindow * TrayWnd, IN HWND hWndOwner, IContextMenu ** ppCtxMenu);
-#define INTERFACE IStartMenuSite
-DECLARE_INTERFACE_(IStartMenuSite, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT, QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- /*** IStartMenuSite ***/
-};
-#undef INTERFACE
-
-#if defined(COBJMACROS)
-/*** IUnknown methods ***/
-#define IStartMenuSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IStartMenuSite_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IStartMenuSite_Release(p) (p)->lpVtbl->Release(p)
-/*** IStartMenuSite methods ***/
-#endif
-
IMenuPopup*
CreateStartMenu(IN ITrayWindow *Tray,
-OUT IMenuBand **ppMenuBand,
-IN HBITMAP hbmBanner OPTIONAL,
-IN BOOL bSmallIcons);
+ OUT IMenuBand **ppMenuBand,
+ IN HBITMAP hbmBanner OPTIONAL,
+ IN BOOL bSmallIcons);
-HRESULT
-UpdateStartMenu(IN OUT IMenuPopup *pMenuPopup,
-IN HBITMAP hbmBanner OPTIONAL,
-IN BOOL bSmallIcons);
+/*
+ * startmnucust.cpp
+ */
+VOID
+ShowCustomizeClassic(HINSTANCE, HWND);
/*
* startmnusite.cpp
#define NTNWM_REALIGN (0x1)
+class CTrayNotifyWnd;
+
BOOL
RegisterTrayNotifyWndClass(VOID);
UnregisterTrayNotifyWndClass(VOID);
HWND
-CreateTrayNotifyWnd(IN OUT ITrayWindow *TrayWindow,
-IN BOOL bHideClock);
+CreateTrayNotifyWnd(IN OUT ITrayWindow *TrayWindow, IN BOOL bHideClock, CTrayNotifyWnd** ppTrayNotify);
-VOID
-TrayNotify_NotifyMsg(IN WPARAM wParam,
-IN LPARAM lParam);
+BOOL
+TrayNotify_NotifyIconCmd(CTrayNotifyWnd* pTrayNotify, IN WPARAM wParam, IN LPARAM lParam);
BOOL
-TrayNotify_GetClockRect(OUT PRECT rcClock);
+TrayNotify_GetClockRect(CTrayNotifyWnd* pTrayNotify, OUT PRECT rcClock);
/*
* taskswnd.c
IN OUT ITrayWindow *Tray);
HRESULT
-Tray_OnStartMenuDismissed();
+Tray_OnStartMenuDismissed(ITrayWindow* Tray);
HRESULT
IsSameObject(IN IUnknown *punk1, IN IUnknown *punk2);