Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.9 KiB

  1. /*
  2. * actdesk.h - active desktop prop sheet extension
  3. */
  4. #ifndef _ACTDESK_H_
  5. #define _ACTDESK_H_
  6. #ifdef __cplusplus
  7. #define REGSTR_ACTIVEDESKTOP TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ActiveDesktop")
  8. #define REGVAL_NOTICKERDISPLAY TEXT("NoTickerDisplay")
  9. #define REGVAL_TICKERINTERVAL TEXT("TickerInterval")
  10. #define REGVAL_TICKERSPEED TEXT("TickerSpeed")
  11. #define REGVAL_NONEWSDISPLAY TEXT("NoNewsDisplay")
  12. #define REGVAL_NEWSINTERVAL TEXT("NewsInterval")
  13. #define REGVAL_NEWSUPDATE TEXT("NewsUpdate")
  14. #define REGVAL_NEWSSPEED TEXT("NewsSpeed")
  15. #define MAX_NEWS_INTERVAL 120
  16. #define MAX_TICKER_INTERVAL 120
  17. #define MAX_NEWS_UPDATE 120
  18. typedef struct _ActiveDesktopInfo
  19. {
  20. BOOL fTicker;
  21. int iTickerInterval; // 30sec, e.g.
  22. int iTickerSpeed; // Stop -- Fast
  23. BOOL fNews;
  24. int iNewsInterval; // 30sec, e.g.
  25. int iNewsUpdate; // 30min, e.
  26. int iNewsSpeed; // Stop -- Fast
  27. } ACTIVEDESKTOPINFO, *LPACTIVEDESKTOPINFO;
  28. BOOL_PTR CALLBACK CActDesktopExt_DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  29. class CActDesktopExt : IShellPropSheetExt
  30. {
  31. public:
  32. CActDesktopExt();
  33. ~CActDesktopExt();
  34. // IUnknon methods...
  35. STDMETHODIMP QueryInterface(REFIID,void **);
  36. STDMETHODIMP_(ULONG) AddRef(void);
  37. STDMETHODIMP_(ULONG) Release(void);
  38. // IShellPropSheetExt methods...
  39. STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam);
  40. STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE pfnReplaceWith, LPARAM lParam);
  41. protected:
  42. HRESULT _CreateActiveDesktopPage(HPROPSHEETPAGE* phpsp, LPVOID pvReserved);
  43. UINT _cRef;
  44. };
  45. #endif // __cplusplus
  46. //
  47. // Prototypes for all modules
  48. //
  49. #ifdef __cplusplus
  50. extern "C" {
  51. #endif
  52. STDAPI CActDesktopExt_CreateInstance(LPUNKNOWN punkOuter, REFIID riid, OUT void **ppvOut);
  53. #ifdef __cplusplus
  54. };
  55. #endif
  56. #endif