00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef VISTAASSOC_H
00025 #define VISTAASSOC_H
00026
00027 #include <commctrl.h>
00028
00029 #define CLSCTX_INPROC_SERVER 1
00030 typedef GUID IID;
00031 #define REFIID const IID* const
00032
00033 const GUID clsid_IApplication2 = { 0x1968106d,0xf3b5,0x44cf,{0x89,0x0e,0x11,0x6f,0xcb,0x9e,0xce,0xf1}};
00034 const GUID IID_IApplicationAssociationRegistrationUI = {0x1f76a169,0xf994,0x40ac, {0x8f,0xc8,0x09,0x59,0xe8,0x87,0x47,0x10}};
00035
00036 const GUID clsid_ITaskbarList ={ 0x56FDF344,0xFD6D,0x11d0,{0x95,0x8A,0x00,0x60,0x97,0xC9,0xA0,0x90}};
00037 const GUID IID_ITaskbarList3 = { 0xea1afb91,0x9e28,0x4b86,{0x90,0xe9,0x9e,0x9f,0x8a,0x5e,0xef,0xaf}};
00038 #ifndef __IUnknown_INTERFACE_DEFINED__
00039 #undef IUnknown
00040 typedef struct _IUnknown IUnknown;
00041 #endif
00042 typedef struct _IApplicationAssociationRegistrationUI IApplicationAssociationRegistrationUI;
00043 typedef struct _ITaskbarList3 ITaskbarList3;
00044
00045 typedef struct IUnknown_vt
00046 {
00047 long (STDCALL *QueryInterface)(IUnknown *This, const GUID *riid,
00048 void **ppvObject);
00049 long (STDCALL *AddRef)(IUnknown *This);
00050 long (STDCALL *Release)(IUnknown *This);
00051
00052 } IUnknown_vt;
00053 struct _IUnknown { IUnknown_vt* vt; };
00054 #ifndef __IUnknown_INTERFACE_DEFINED__
00055 typedef IUnknown *LPUNKNOWN;
00056 #endif
00057 typedef struct IApplicationAssociationRegistrationUI_vt
00058 {
00059
00060 long (STDCALL *QueryInterface)(IUnknown *This, const GUID *riid,
00061 void **ppvObject);
00062 long (STDCALL *AddRef)(IUnknown *This);
00063 long (STDCALL *Release)(IUnknown *This);
00064 long (STDCALL *LaunchAdvancedAssociationUI)(IApplicationAssociationRegistrationUI *This, LPCWSTR app);
00065 } IApplicationAssociationRegistrationUI_vt;
00066 struct _IApplicationAssociationRegistrationUI { IApplicationAssociationRegistrationUI_vt* vt; };
00067 typedef IApplicationAssociationRegistrationUI *LPAPPASSOCREGUI, *PAPPASSOCREGUI;
00068
00069 typedef enum TBPFLAG
00070 {
00071 TBPF_NOPROGRESS = 0,
00072 TBPF_INDETERMINATE = 0x1,
00073 TBPF_NORMAL = 0x2,
00074 TBPF_ERROR = 0x4,
00075 TBPF_PAUSED = 0x8
00076 } TBPFLAG;
00077
00078 typedef enum TBATFLAG
00079 {
00080 TBATF_USEMDITHUMBNAIL = 0x1,
00081 TBATF_USEMDILIVEPREVIEW = 0x2
00082 } TBATFLAG;
00083
00084 typedef struct tagTHUMBBUTTON
00085 {
00086 DWORD dwMask;
00087 UINT iId;
00088 UINT iBitmap;
00089 HICON hIcon;
00090
00091 wchar_t pszTip[ 260 ];
00092 DWORD dwFlags;
00093 } THUMBBUTTON;
00094
00095 typedef struct tagTHUMBBUTTON *LPTHUMBBUTTON;
00096
00097
00098 #define THBF_ENABLED 0x0000
00099 #define THBF_DISABLED 0x0001
00100 #define THBF_DISMISSONCLICK 0x0002
00101 #define THBF_NOBACKGROUND 0x0004
00102 #define THBF_HIDDEN 0x0008
00103
00104 #define THB_BITMAP 0x0001
00105 #define THB_ICON 0x0002
00106 #define THB_TOOLTIP 0x0004
00107 #define THB_FLAGS 0x0008
00108 #define THBN_CLICKED 0x1800
00109
00110 typedef struct ITaskbarList3Vtbl
00111 {
00112
00113 long ( STDCALL *QueryInterface )(ITaskbarList3 * This, REFIID riid, void **ppvObject);
00114
00115 long ( STDCALL *AddRef )( ITaskbarList3 * This);
00116
00117 long ( STDCALL *Release )( ITaskbarList3 * This);
00118
00119 long ( STDCALL *HrInit )( ITaskbarList3 * This);
00120
00121 long ( STDCALL *AddTab )( ITaskbarList3 * This, HWND hwnd);
00122
00123 long ( STDCALL *DeleteTab )( ITaskbarList3 * This, HWND hwnd);
00124
00125 long ( STDCALL *ActivateTab )( ITaskbarList3 * This, HWND hwnd);
00126
00127 long ( STDCALL *SetActiveAlt )( ITaskbarList3 * This, HWND hwnd);
00128
00129 long ( STDCALL *MarkFullscreenWindow )( ITaskbarList3 * This, HWND hwnd,
00130 BOOL fFullscreen);
00131
00132 long ( STDCALL *SetProgressValue )( ITaskbarList3 * This, HWND hwnd,
00133 ULONGLONG ullCompleted, ULONGLONG ullTotal);
00134
00135 long ( STDCALL *SetProgressState )( ITaskbarList3 * This, HWND hwnd,
00136 TBPFLAG tbpFlags);
00137
00138 long ( STDCALL *RegisterTab )( ITaskbarList3 * This, HWND hwndTab, HWND hwndMDI);
00139
00140 long ( STDCALL *UnregisterTab )( ITaskbarList3 * This, HWND hwndTab);
00141
00142 long ( STDCALL *SetTabOrder )( ITaskbarList3 * This, HWND hwndTab,
00143 HWND hwndInsertBefore);
00144
00145 long ( STDCALL *SetTabActive )( ITaskbarList3 * This, HWND hwndTab,
00146 HWND hwndMDI, TBATFLAG tbatFlags);
00147
00148 long ( STDCALL *ThumbBarAddButtons )( ITaskbarList3 * This, HWND hwnd,
00149 UINT cButtons, LPTHUMBBUTTON pButton);
00150
00151 long ( STDCALL *ThumbBarUpdateButtons )( ITaskbarList3 * This, HWND hwnd,
00152 UINT cButtons, LPTHUMBBUTTON pButton);
00153
00154 long ( STDCALL *ThumbBarSetImageList )( ITaskbarList3 * This, HWND hwnd,
00155 HIMAGELIST himl);
00156
00157 long ( STDCALL *SetOverlayIcon )( ITaskbarList3 * This, HWND hwnd,
00158 HICON hIcon, LPCWSTR pszDescription);
00159
00160 long ( STDCALL *SetThumbnailTooltip )( ITaskbarList3 * This, HWND hwnd,
00161 LPCWSTR pszTip);
00162
00163 long ( STDCALL *SetThumbnailClip )( ITaskbarList3 * This, HWND hwnd,
00164 RECT *prcClip);
00165
00166 } ITaskbarList3Vtbl;
00167
00168 struct _ITaskbarList3 { ITaskbarList3Vtbl* vt; };
00169 typedef ITaskbarList3 *LPTASKBARLIST3, *PTASKBARLIST3;
00170
00171
00172 #ifdef __cplusplus
00173 extern "C" {
00174 #endif
00175 HRESULT WINAPI CoCreateInstance(const GUID *,LPUNKNOWN,DWORD,REFIID,PVOID*);
00176 HRESULT WINAPI CoInitialize(PVOID);
00177 void WINAPI CoUninitialize(void);
00178 #ifdef __cplusplus
00179 };
00180 #endif
00181
00182 #endif //VISTAASSOC_H