#ifndef _HOOKPROC_WINDOWSTATIONENUMERATOR_HPP_ #define _HOOKPROC_WINDOWSTATIONENUMERATOR_HPP_ #ifndef _HOOKPROC_ENUMWINDOWSTATIONHOOK_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_BLOCK_HPP_ #include #endif class WindowStationEnumerator : public EnumWindowStationHook, public Block { public: WindowStationEnumerator(); virtual ~WindowStationEnumerator(); bool enumerateWindowStations(void); DWORD size(void)const; protected: virtual bool enumWindowStationProc(const String &strWindowStation); private: }; inline WindowStationEnumerator::WindowStationEnumerator() { } inline WindowStationEnumerator::~WindowStationEnumerator() { } inline bool WindowStationEnumerator::enumerateWindowStations(void) { remove(); ::EnumWindowStations((LPFNENUMWINDOWSTATIONPROC)getHookAddress(),0L); return Block::size()?true:false; } inline bool WindowStationEnumerator::enumWindowStationProc(const String &strWindowStation) { insert(&strWindowStation); return true; } inline DWORD WindowStationEnumerator::size(void)const { return Block::size(); } #endif