Windows 7 provides the taskbar features for a new user experience, suchOverlay icons and progress bars.
To implement these features, you must first obtain the itaskbarlist3 interface pointer of taskbar. Because vs2010 has not been officially released, it is time-consuming and labor-consuming to install a Windows 7 SDK with more than 1 GB for vs2008 and earlier versions. In fact, we only need to create a header file and define itaskbarlist3 to use it directly.
The following is the definition of the itaskbarlist3 interface created by the itaskbarlist2 interface.
# Ifndef _ itaskbarlist3_interface_defined __< br/> # DEFINE _ DEFINE __</P> <p>/* interface itaskbarlist3 */<br/>/* [object] [UUID] */</P> <p> extern_c const IID iid_itaskbarlist3; </P> <p> # If defined (_ cplusplus )&&! Defined (cinterface) </P> <p> typedef <br/> Enum tbpflag <br/> {<br/> tbpf_noprogress = 0, <br/> tbpf_indeterminate = 0x1, <br/> tbpf_normal = 0x2, <br/> tbpf_error = 0x4, <br/> tbpf_paused = 0x8 <br/>} tbpflag; </P> <p> typedef struct thumbbutton * lpthumbbutton; </P> <p> midl_interface ("EA1AFB91-9E28-4B86-90E9-9E9F8A5EEFAF") <br/> itaskbarlist3: Public itaskbarlist2 <br/>{< br/> public: <br/> virtual hresult stdmethodcalltype markfullscreenwindow (<br/>/* [in] */_ RPC _ in hwnd, <br/>/* [in] */bool ffullscreen) = 0; </P> <p> // itaskbarlist3 members <br/> stdmethod (setprogressvalue) (hwnd, ulonglong ullcompleted, ulonglong ulltotal) pure; <br/> stdmethod (setprogressstate) (hwnd, gradient) pure; <br/> stdmethod (registertab) (hwnd hwndtab, hwnd hwndmdi) pure; <br/> stdmethod (unregistertab) (hwnd hwndtab) pure; <br/> stdmethod (settaborder) (hwnd hwndtab, hwnd hwndinsertbefore) pure; <br/> stdmethod (settabactive) (hwnd hwndtab, hwnd hwndmdi, DWORD dwreserved) pure; <br/> stdmethod (Measures) (hwnd, uint cbuttons, lpthumbbutton pbutton) pure; <br/> stdmethod (thumbbarupdatebuttons) (hwnd, uint cbuttons, lpthumbbutton pbutton) pure; <br/> stdmethod (hwnd, himagelist himl) pure; <br/> stdmethod (setoverlayicon) (hwnd, hicon, lpcwstr pszdescription) pure; <br/> stdmethod (setthumbnailtooltip) (hwnd, lpcwstr psztip) pure; <br/> stdmethod (setthumbnailclip) (hwnd, rect * prcclip) pure; <br/> }; </P> <p> # else/* C style interface */</P> <p> # endif/* C style interface */</P> <p> # endif/* _ itaskbarlist3_interface_defined __*/