[1046] | 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 */
|
---|