| 1 | #ifndef _SHLOBJIDL_H | 
 
 
 
 
 | 2 | #define _SHLOBJIDL_H | 
 
 
 
 
 | 3 | #if __GNUC__ >= 3 | 
 
 
 
 
 | 4 | #pragma GCC system_header | 
 
 
 
 
 | 5 | #endif | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | #ifdef __cplusplus | 
 
 
 
 
 | 8 | extern "C" { | 
 
 
 
 
 | 9 | #endif | 
 
 
 
 
 | 10 |  | 
 
 
 
 
 | 11 | #include <ole2.h> | 
 
 
 
 
 | 12 | #include <shlguid.h> | 
 
 
 
 
 | 13 | #include <shellapi.h> | 
 
 
 
 
 | 14 | #pragma pack(push,1) | 
 
 
 
 
 | 15 | #include <commctrl.h> | 
 
 
 
 
 | 16 |  | 
 
 
 
 
 | 17 | extern const IID IID_ITaskbarList3; | 
 
 
 
 
 | 18 | extern const GUID CLSID_ITaskbarList; | 
 
 
 
 
 | 19 |  | 
 
 
 
 
 | 20 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562322%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 21 | typedef enum THUMBBUTTONMASK { | 
 
 
 
 
 | 22 | THB_BITMAP    = 0x00000001, | 
 
 
 
 
 | 23 | THB_ICON      = 0x00000002, | 
 
 
 
 
 | 24 | THB_TOOLTIP   = 0x00000004, | 
 
 
 
 
 | 25 | THB_FLAGS     = 0x00000008 | 
 
 
 
 
 | 26 | } THUMBBUTTONMASK; | 
 
 
 
 
 | 27 |  | 
 
 
 
 
 | 28 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562321%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 29 | typedef enum THUMBBUTTONFLAGS { | 
 
 
 
 
 | 30 | THBF_ENABLED          = 0x00000000, | 
 
 
 
 
 | 31 | THBF_DISABLED         = 0x00000001, | 
 
 
 
 
 | 32 | THBF_DISMISSONCLICK   = 0x00000002, | 
 
 
 
 
 | 33 | THBF_NOBACKGROUND     = 0x00000004, | 
 
 
 
 
 | 34 | THBF_HIDDEN           = 0x00000008, | 
 
 
 
 
 | 35 | THBF_NONINTERACTIVE   = 0x00000010 | 
 
 
 
 
 | 36 | } THUMBBUTTONFLAGS; | 
 
 
 
 
 | 37 |  | 
 
 
 
 
 | 38 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391559%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 39 | typedef struct THUMBBUTTON { | 
 
 
 
 
 | 40 | THUMBBUTTONMASK  dwMask; | 
 
 
 
 
 | 41 | UINT             iId; | 
 
 
 
 
 | 42 | UINT             iBitmap; | 
 
 
 
 
 | 43 | HICON            hIcon; | 
 
 
 
 
 | 44 | WCHAR            szTip[260]; | 
 
 
 
 
 | 45 | THUMBBUTTONFLAGS dwFlags; | 
 
 
 
 
 | 46 | } THUMBBUTTON, *LPTHUMBBUTTON; | 
 
 
 
 
 | 47 |  | 
 
 
 
 
 | 48 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 49 | typedef enum TBPFLAG { | 
 
 
 
 
 | 50 | TBPF_NOPROGRESS    = 0x00000000, | 
 
 
 
 
 | 51 | TBPF_INDETERMINATE = 0x00000001, | 
 
 
 
 
 | 52 | TBPF_NORMAL        = 0x00000002, | 
 
 
 
 
 | 53 | TBPF_ERROR         = 0x00000004, | 
 
 
 
 
 | 54 | TBPF_PAUSED        = 0x00000008 | 
 
 
 
 
 | 55 | } TBPFLAG; | 
 
 
 
 
 | 56 |  | 
 
 
 
 
 | 57 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774652%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 58 | #define INTERFACE ITaskbarList | 
 
 
 
 
 | 59 | DECLARE_INTERFACE_(ITaskbarList, IUnknown) | 
 
 
 
 
 | 60 | { | 
 
 
 
 
 | 61 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 62 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 63 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 64 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774650%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 65 | STDMETHOD(HrInit)(THIS) PURE; | 
 
 
 
 
 | 66 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774646%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 67 | STDMETHOD(AddTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 68 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774648%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 69 | STDMETHOD(DeleteTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 70 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774644%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 71 | STDMETHOD(ActivateTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 72 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774655%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 73 | STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE; | 
 
 
 
 
 | 74 | }; | 
 
 
 
 
 | 75 | #undef INTERFACE | 
 
 
 
 
 | 76 | typedef ITaskbarList *LPTASKBARLIST; | 
 
 
 
 
 | 77 |  | 
 
 
 
 
 | 78 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774638%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 79 | #define INTERFACE ITaskbarList2 | 
 
 
 
 
 | 80 | DECLARE_INTERFACE_(ITaskbarList2, ITaskbarList) | 
 
 
 
 
 | 81 | { | 
 
 
 
 
 | 82 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 83 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 84 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 85 | STDMETHOD(HrInit)(THIS) PURE; | 
 
 
 
 
 | 86 | STDMETHOD(AddTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 87 | STDMETHOD(DeleteTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 88 | STDMETHOD(ActivateTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 89 | STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE; | 
 
 
 
 
 | 90 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774640%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 91 | STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE; | 
 
 
 
 
 | 92 | }; | 
 
 
 
 
 | 93 | #undef INTERFACE | 
 
 
 
 
 | 94 | typedef ITaskbarList2 *LPTASKBARLIST2; | 
 
 
 
 
 | 95 |  | 
 
 
 
 
 | 96 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391692%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 97 | #define INTERFACE ITaskbarList3 | 
 
 
 
 
 | 98 | DECLARE_INTERFACE_(ITaskbarList3, ITaskbarList2) | 
 
 
 
 
 | 99 | { | 
 
 
 
 
 | 100 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 101 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 102 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 103 | STDMETHOD(HrInit)(THIS) PURE; | 
 
 
 
 
 | 104 | STDMETHOD(AddTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 105 | STDMETHOD(DeleteTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 106 | STDMETHOD(ActivateTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 107 | STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE; | 
 
 
 
 
 | 108 | STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE; | 
 
 
 
 
 | 109 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391698%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 110 | STDMETHOD(SetProgressValue)(THIS_ ULONGLONG,ULONGLONG) PURE; | 
 
 
 
 
 | 111 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 112 | STDMETHOD(SetProgressState)(THIS_ HWND,TBPFLAG) PURE; | 
 
 
 
 
 | 113 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391694%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 114 | STDMETHOD(RegisterTab)(THIS_ HWND,HWND) PURE; | 
 
 
 
 
 | 115 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391706%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 116 | STDMETHOD(UnregisterTab)(THIS_ HWND) PURE; | 
 
 
 
 
 | 117 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391700%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 118 | STDMETHOD(SetTabOrder)(THIS_ HWND,HWND) PURE; | 
 
 
 
 
 | 119 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391699%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 120 | STDMETHOD(SetTabActive)(THIS_ HWND,HWND,DWORD) PURE; | 
 
 
 
 
 | 121 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391703%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 122 | STDMETHOD(ThumbBarAddButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE; | 
 
 
 
 
 | 123 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391705%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 124 | STDMETHOD(ThumbBarUpdateButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE; | 
 
 
 
 
 | 125 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391704%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 126 | STDMETHOD(ThumbBarSetImageList)(THIS_ HWND,HIMAGELIST) PURE; | 
 
 
 
 
 | 127 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391696%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 128 | STDMETHOD(SetOverlayIcon)(THIS_ HWND,HICON,LPCWSTR) PURE; | 
 
 
 
 
 | 129 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391702%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 130 | STDMETHOD(SetThumbnailTooltip)(THIS_ HWND,LPCWSTR) PURE; | 
 
 
 
 
 | 131 | /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391701%28v=vs.85%29.aspx */ | 
 
 
 
 
 | 132 | STDMETHOD(SetThumbnailClip)(THIS_ HWND,RECT*) PURE; | 
 
 
 
 
 | 133 | }; | 
 
 
 
 
 | 134 | #undef INTERFACE | 
 
 
 
 
 | 135 | typedef ITaskbarList3 *LPTASKBARLIST3; | 
 
 
 
 
 | 136 |  | 
 
 
 
 
 | 137 | #pragma pack(pop) | 
 
 
 
 
 | 138 | #ifdef __cplusplus | 
 
 
 
 
 | 139 | } | 
 
 
 
 
 | 140 | #endif | 
 
 
 
 
 | 141 |  | 
 
 
 
 
 | 142 |  | 
 
 
 
 
 | 143 | #endif /* _SHLOBJIDL_H */ |