1*f6dc9357SAndroid Build Coastguard Worker // MyWindowsNew.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_MY_WINDOWS_NEW_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_MY_WINDOWS_NEW_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #if defined(__MINGW32__) || defined(__MINGW64__) || defined(__MINGW32_VERSION) 7*f6dc9357SAndroid Build Coastguard Worker #include <shobjidl.h> 8*f6dc9357SAndroid Build Coastguard Worker 9*f6dc9357SAndroid Build Coastguard Worker #if defined(__MINGW32_VERSION) && !defined(__ITaskbarList3_INTERFACE_DEFINED__) 10*f6dc9357SAndroid Build Coastguard Worker // for old mingw 11*f6dc9357SAndroid Build Coastguard Worker extern "C" { 12*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(IID_ITaskbarList3, 0xEA1AFB91, 0x9E28, 0x4B86, 0x90, 0xE9, 0x9E, 0x9F, 0x8A, 0x5E, 0xEF, 0xAF); 13*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(CLSID_TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90); 14*f6dc9357SAndroid Build Coastguard Worker } 15*f6dc9357SAndroid Build Coastguard Worker #endif 16*f6dc9357SAndroid Build Coastguard Worker 17*f6dc9357SAndroid Build Coastguard Worker #else // is not __MINGW* 18*f6dc9357SAndroid Build Coastguard Worker 19*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_OLD_WIN_SDK 20*f6dc9357SAndroid Build Coastguard Worker #include <ShObjIdl.h> 21*f6dc9357SAndroid Build Coastguard Worker #else 22*f6dc9357SAndroid Build Coastguard Worker 23*f6dc9357SAndroid Build Coastguard Worker #ifndef HIMAGELIST 24*f6dc9357SAndroid Build Coastguard Worker struct _IMAGELIST; 25*f6dc9357SAndroid Build Coastguard Worker typedef struct _IMAGELIST* HIMAGELIST; 26*f6dc9357SAndroid Build Coastguard Worker #endif 27*f6dc9357SAndroid Build Coastguard Worker 28*f6dc9357SAndroid Build Coastguard Worker #ifndef __ITaskbarList_INTERFACE_DEFINED__ 29*f6dc9357SAndroid Build Coastguard Worker #define __ITaskbarList_INTERFACE_DEFINED__ 30*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(IID_ITaskbarList, 0x56FDF342, 0xFD6D, 0x11d0, 0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90); 31*f6dc9357SAndroid Build Coastguard Worker struct ITaskbarList: public IUnknown 32*f6dc9357SAndroid Build Coastguard Worker { 33*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(HrInit)(void) = 0; 34*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(AddTab)(HWND hwnd) = 0; 35*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(DeleteTab)(HWND hwnd) = 0; 36*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(ActivateTab)(HWND hwnd) = 0; 37*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(SetActiveAlt)(HWND hwnd) = 0; 38*f6dc9357SAndroid Build Coastguard Worker }; 39*f6dc9357SAndroid Build Coastguard Worker #endif // __ITaskbarList_INTERFACE_DEFINED__ 40*f6dc9357SAndroid Build Coastguard Worker 41*f6dc9357SAndroid Build Coastguard Worker #ifndef __ITaskbarList2_INTERFACE_DEFINED__ 42*f6dc9357SAndroid Build Coastguard Worker #define __ITaskbarList2_INTERFACE_DEFINED__ 43*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(IID_ITaskbarList2, 0x602D4995, 0xB13A, 0x429b, 0xA6, 0x6E, 0x19, 0x35, 0xE4, 0x4F, 0x43, 0x17); 44*f6dc9357SAndroid Build Coastguard Worker struct ITaskbarList2: public ITaskbarList 45*f6dc9357SAndroid Build Coastguard Worker { 46*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(MarkFullscreenWindow)(HWND hwnd, BOOL fFullscreen) = 0; 47*f6dc9357SAndroid Build Coastguard Worker }; 48*f6dc9357SAndroid Build Coastguard Worker #endif // __ITaskbarList2_INTERFACE_DEFINED__ 49*f6dc9357SAndroid Build Coastguard Worker 50*f6dc9357SAndroid Build Coastguard Worker #endif // Z7_OLD_WIN_SDK 51*f6dc9357SAndroid Build Coastguard Worker 52*f6dc9357SAndroid Build Coastguard Worker 53*f6dc9357SAndroid Build Coastguard Worker #ifndef __ITaskbarList3_INTERFACE_DEFINED__ 54*f6dc9357SAndroid Build Coastguard Worker #define __ITaskbarList3_INTERFACE_DEFINED__ 55*f6dc9357SAndroid Build Coastguard Worker 56*f6dc9357SAndroid Build Coastguard Worker typedef enum THUMBBUTTONFLAGS 57*f6dc9357SAndroid Build Coastguard Worker { 58*f6dc9357SAndroid Build Coastguard Worker THBF_ENABLED = 0, 59*f6dc9357SAndroid Build Coastguard Worker THBF_DISABLED = 0x1, 60*f6dc9357SAndroid Build Coastguard Worker THBF_DISMISSONCLICK = 0x2, 61*f6dc9357SAndroid Build Coastguard Worker THBF_NOBACKGROUND = 0x4, 62*f6dc9357SAndroid Build Coastguard Worker THBF_HIDDEN = 0x8, 63*f6dc9357SAndroid Build Coastguard Worker THBF_NONINTERACTIVE = 0x10 64*f6dc9357SAndroid Build Coastguard Worker } THUMBBUTTONFLAGS; 65*f6dc9357SAndroid Build Coastguard Worker 66*f6dc9357SAndroid Build Coastguard Worker typedef enum THUMBBUTTONMASK 67*f6dc9357SAndroid Build Coastguard Worker { 68*f6dc9357SAndroid Build Coastguard Worker THB_BITMAP = 0x1, 69*f6dc9357SAndroid Build Coastguard Worker THB_ICON = 0x2, 70*f6dc9357SAndroid Build Coastguard Worker THB_TOOLTIP = 0x4, 71*f6dc9357SAndroid Build Coastguard Worker THB_FLAGS = 0x8 72*f6dc9357SAndroid Build Coastguard Worker } THUMBBUTTONMASK; 73*f6dc9357SAndroid Build Coastguard Worker 74*f6dc9357SAndroid Build Coastguard Worker // #include <pshpack8.h> 75*f6dc9357SAndroid Build Coastguard Worker 76*f6dc9357SAndroid Build Coastguard Worker typedef struct THUMBBUTTON 77*f6dc9357SAndroid Build Coastguard Worker { 78*f6dc9357SAndroid Build Coastguard Worker THUMBBUTTONMASK dwMask; 79*f6dc9357SAndroid Build Coastguard Worker UINT iId; 80*f6dc9357SAndroid Build Coastguard Worker UINT iBitmap; 81*f6dc9357SAndroid Build Coastguard Worker HICON hIcon; 82*f6dc9357SAndroid Build Coastguard Worker WCHAR szTip[260]; 83*f6dc9357SAndroid Build Coastguard Worker THUMBBUTTONFLAGS dwFlags; 84*f6dc9357SAndroid Build Coastguard Worker } THUMBBUTTON; 85*f6dc9357SAndroid Build Coastguard Worker 86*f6dc9357SAndroid Build Coastguard Worker typedef struct THUMBBUTTON *LPTHUMBBUTTON; 87*f6dc9357SAndroid Build Coastguard Worker 88*f6dc9357SAndroid Build Coastguard Worker typedef enum TBPFLAG 89*f6dc9357SAndroid Build Coastguard Worker { 90*f6dc9357SAndroid Build Coastguard Worker TBPF_NOPROGRESS = 0, 91*f6dc9357SAndroid Build Coastguard Worker TBPF_INDETERMINATE = 0x1, 92*f6dc9357SAndroid Build Coastguard Worker TBPF_NORMAL = 0x2, 93*f6dc9357SAndroid Build Coastguard Worker TBPF_ERROR = 0x4, 94*f6dc9357SAndroid Build Coastguard Worker TBPF_PAUSED = 0x8 95*f6dc9357SAndroid Build Coastguard Worker } TBPFLAG; 96*f6dc9357SAndroid Build Coastguard Worker 97*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(IID_ITaskbarList3, 0xEA1AFB91, 0x9E28, 0x4B86, 0x90, 0xE9, 0x9E, 0x9F, 0x8A, 0x5E, 0xEF, 0xAF); 98*f6dc9357SAndroid Build Coastguard Worker 99*f6dc9357SAndroid Build Coastguard Worker struct ITaskbarList3: public ITaskbarList2 100*f6dc9357SAndroid Build Coastguard Worker { 101*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(SetProgressValue)(HWND hwnd, ULONGLONG ullCompleted, ULONGLONG ullTotal) = 0; 102*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(SetProgressState)(HWND hwnd, TBPFLAG tbpFlags) = 0; 103*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(RegisterTab)(HWND hwndTab, HWND hwndMDI) = 0; 104*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(UnregisterTab)(HWND hwndTab) = 0; 105*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(SetTabOrder)(HWND hwndTab, HWND hwndInsertBefore) = 0; 106*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(SetTabActive)(HWND hwndTab, HWND hwndMDI, DWORD dwReserved) = 0; 107*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(ThumbBarAddButtons)(HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) = 0; 108*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(ThumbBarUpdateButtons)(HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) = 0; 109*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(ThumbBarSetImageList)(HWND hwnd, HIMAGELIST himl) = 0; 110*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(SetOverlayIcon)(HWND hwnd, HICON hIcon, LPCWSTR pszDescription) = 0; 111*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(SetThumbnailTooltip)(HWND hwnd, LPCWSTR pszTip) = 0; 112*f6dc9357SAndroid Build Coastguard Worker STDMETHOD(SetThumbnailClip)(HWND hwnd, RECT *prcClip) = 0; 113*f6dc9357SAndroid Build Coastguard Worker }; 114*f6dc9357SAndroid Build Coastguard Worker 115*f6dc9357SAndroid Build Coastguard Worker #endif // __ITaskbarList3_INTERFACE_DEFINED__ 116*f6dc9357SAndroid Build Coastguard Worker 117*f6dc9357SAndroid Build Coastguard Worker #endif // __MINGW* 118*f6dc9357SAndroid Build Coastguard Worker 119*f6dc9357SAndroid Build Coastguard Worker #endif 120