00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 */ 00004 00005 #if !defined(AFX_FSSHELLWINDOWSEVENTS_H__34F1B5DF_A780_4973_9E8F_F84179E08554__INCLUDED_) 00006 #define AFX_FSSHELLWINDOWSEVENTS_H__34F1B5DF_A780_4973_9E8F_F84179E08554__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif 00011 00012 enum fsSHWindowsEvent 00013 { 00014 SWE_WINDOWOPENED, 00015 SWE_WINDOWCLOSED 00016 }; 00017 00018 typedef void (*fntSHWindowsEvents) (fsSHWindowsEvent ev, LPVOID lpParam); 00019 00020 class fsShellWindowsEvents : public CCmdTarget 00021 { 00022 DECLARE_DYNCREATE(fsShellWindowsEvents) 00023 00024 public: 00025 fsShellWindowsEvents(); 00026 virtual ~fsShellWindowsEvents(); 00027 00028 public: 00029 00030 HRESULT Attach (SHDocVw::IShellWindowsPtr& spSHWnds); 00031 00032 void Detach (); 00033 00034 00035 void SetEventFunc (fntSHWindowsEvents pfn, LPVOID lpParam); 00036 00037 00038 //{{AFX_VIRTUAL(fsShellWindowsEvents) 00039 //}}AFX_VIRTUAL 00040 00041 protected: 00042 fntSHWindowsEvents m_pfnEvents; 00043 LPVOID m_lpEventsParam; 00044 00045 DECLARE_DISPATCH_MAP() 00046 00047 00048 void OnWindowRevoked (long lCookie); 00049 void OnWindowRegistered(long lCookie); 00050 00051 LPCONNECTIONPOINT m_pConnPt; 00052 DWORD m_dwCookie; 00053 00054 00055 //{{AFX_MSG(fsShellWindowsEvents) 00056 00057 //}}AFX_MSG 00058 00059 DECLARE_MESSAGE_MAP() 00060 }; 00061 00062 //{{AFX_INSERT_LOCATION}//}} 00063 00064 #endif
1.5.6