WinApi.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //---------------------------------------------------------------------------
  2. #ifndef WinApiH
  3. #define WinApiH
  4. //---------------------------------------------------------------------------
  5. #include <shlobj.h>
  6. //---------------------------------------------------------------------------
  7. EXTERN_C const GUID DECLSPEC_SELECTANY IID_ITaskbarList3
  8. = { 0xEA1AFB91, 0x9E28, 0x4B86, { 0x90, 0xE9, 0x9E, 0x9F, 0x8A, 0x5E, 0xEF, 0xAF } };
  9. //---------------------------------------------------------------------------
  10. typedef /* [v1_enum] */
  11. enum TBPFLAG
  12. {
  13. TBPF_NOPROGRESS = 0,
  14. TBPF_INDETERMINATE = 0x1,
  15. TBPF_NORMAL = 0x2,
  16. TBPF_ERROR = 0x4,
  17. TBPF_PAUSED = 0x8
  18. } TBPFLAG;
  19. //---------------------------------------------------------------------------
  20. // Do not need this ATM
  21. typedef void * LPTHUMBBUTTON;
  22. //---------------------------------------------------------------------------
  23. MIDL_INTERFACE("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")
  24. ITaskbarList3 : public ITaskbarList2
  25. {
  26. public:
  27. virtual HRESULT STDMETHODCALLTYPE SetProgressValue(
  28. /* [in] */ HWND hwnd,
  29. /* [in] */ ULONGLONG ullCompleted,
  30. /* [in] */ ULONGLONG ullTotal) = 0;
  31. virtual HRESULT STDMETHODCALLTYPE SetProgressState(
  32. /* [in] */ HWND hwnd,
  33. /* [in] */ TBPFLAG tbpFlags) = 0;
  34. virtual HRESULT STDMETHODCALLTYPE RegisterTab(
  35. /* [in] */ HWND hwndTab,
  36. /* [in] */ HWND hwndMDI) = 0;
  37. virtual HRESULT STDMETHODCALLTYPE UnregisterTab(
  38. /* [in] */ HWND hwndTab) = 0;
  39. virtual HRESULT STDMETHODCALLTYPE SetTabOrder(
  40. /* [in] */ HWND hwndTab,
  41. /* [in] */ HWND hwndInsertBefore) = 0;
  42. virtual HRESULT STDMETHODCALLTYPE SetTabActive(
  43. /* [in] */ HWND hwndTab,
  44. /* [in] */ HWND hwndMDI,
  45. /* [in] */ DWORD dwReserved) = 0;
  46. virtual HRESULT STDMETHODCALLTYPE ThumbBarAddButtons(
  47. /* [in] */ HWND hwnd,
  48. /* [in] */ UINT cButtons,
  49. /* [size_is][in] */ LPTHUMBBUTTON pButton) = 0;
  50. virtual HRESULT STDMETHODCALLTYPE ThumbBarUpdateButtons(
  51. /* [in] */ HWND hwnd,
  52. /* [in] */ UINT cButtons,
  53. /* [size_is][in] */ LPTHUMBBUTTON pButton) = 0;
  54. virtual HRESULT STDMETHODCALLTYPE ThumbBarSetImageList(
  55. /* [in] */ HWND hwnd,
  56. /* [in] */ ::HIMAGELIST himl) = 0;
  57. virtual HRESULT STDMETHODCALLTYPE SetOverlayIcon(
  58. /* [in] */ HWND hwnd,
  59. /* [in] */ HICON hIcon,
  60. /* [string][unique][in] */ LPCWSTR pszDescription) = 0;
  61. virtual HRESULT STDMETHODCALLTYPE SetThumbnailTooltip(
  62. /* [in] */ HWND hwnd,
  63. /* [string][unique][in] */ LPCWSTR pszTip) = 0;
  64. virtual HRESULT STDMETHODCALLTYPE SetThumbnailClip(
  65. /* [in] */ HWND hwnd,
  66. /* [in] */ RECT *prcClip) = 0;
  67. };
  68. //---------------------------------------------------------------------------
  69. typedef struct tagCHANGEFILTERSTRUCT {
  70. DWORD cbSize;
  71. DWORD ExtStatus;
  72. } CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;
  73. /*
  74. * Message filter action values (action parameter to ChangeWindowMessageFilterEx)
  75. */
  76. #define MSGFLT_RESET (0)
  77. #define MSGFLT_ALLOW (1)
  78. #define MSGFLT_DISALLOW (2)
  79. typedef BOOL WINAPI (* ChangeWindowMessageFilterExProc)(
  80. HWND hwnd, UINT message, DWORD action, PCHANGEFILTERSTRUCT pChangeFilterStruct);
  81. //---------------------------------------------------------------------------
  82. #endif // WinApiH