79 lines
1.9 KiB
C
79 lines
1.9 KiB
C
|
/*
|
||
|
* actdesk.h - active desktop prop sheet extension
|
||
|
*/
|
||
|
|
||
|
#ifndef _ACTDESK_H_
|
||
|
#define _ACTDESK_H_
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
|
||
|
|
||
|
#define REGSTR_ACTIVEDESKTOP TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ActiveDesktop")
|
||
|
#define REGVAL_NOTICKERDISPLAY TEXT("NoTickerDisplay")
|
||
|
#define REGVAL_TICKERINTERVAL TEXT("TickerInterval")
|
||
|
#define REGVAL_TICKERSPEED TEXT("TickerSpeed")
|
||
|
#define REGVAL_NONEWSDISPLAY TEXT("NoNewsDisplay")
|
||
|
#define REGVAL_NEWSINTERVAL TEXT("NewsInterval")
|
||
|
#define REGVAL_NEWSUPDATE TEXT("NewsUpdate")
|
||
|
#define REGVAL_NEWSSPEED TEXT("NewsSpeed")
|
||
|
|
||
|
#define MAX_NEWS_INTERVAL 120
|
||
|
#define MAX_TICKER_INTERVAL 120
|
||
|
#define MAX_NEWS_UPDATE 120
|
||
|
|
||
|
typedef struct _ActiveDesktopInfo
|
||
|
{
|
||
|
BOOL fTicker;
|
||
|
int iTickerInterval; // 30sec, e.g.
|
||
|
int iTickerSpeed; // Stop -- Fast
|
||
|
|
||
|
BOOL fNews;
|
||
|
int iNewsInterval; // 30sec, e.g.
|
||
|
int iNewsUpdate; // 30min, e.
|
||
|
int iNewsSpeed; // Stop -- Fast
|
||
|
} ACTIVEDESKTOPINFO, *LPACTIVEDESKTOPINFO;
|
||
|
|
||
|
BOOL_PTR CALLBACK CActDesktopExt_DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
||
|
|
||
|
|
||
|
class CActDesktopExt : IShellPropSheetExt
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
CActDesktopExt();
|
||
|
~CActDesktopExt();
|
||
|
|
||
|
// IUnknon methods...
|
||
|
STDMETHODIMP QueryInterface(REFIID,void **);
|
||
|
STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
STDMETHODIMP_(ULONG) Release(void);
|
||
|
|
||
|
// IShellPropSheetExt methods...
|
||
|
STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam);
|
||
|
STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE pfnReplaceWith, LPARAM lParam);
|
||
|
|
||
|
protected:
|
||
|
HRESULT _CreateActiveDesktopPage(HPROPSHEETPAGE* phpsp, LPVOID pvReserved);
|
||
|
UINT _cRef;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // __cplusplus
|
||
|
|
||
|
|
||
|
//
|
||
|
// Prototypes for all modules
|
||
|
//
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
STDAPI CActDesktopExt_CreateInstance(LPUNKNOWN punkOuter, REFIID riid, OUT void **ppvOut);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#endif
|