// Windows/DLL.h #ifndef __WINDOWS_DLL_H #define __WINDOWS_DLL_H #include "../Common/MyString.h" typedef void * HMODULE; typedef int (*FARPROC)(); namespace NWindows { namespace NDLL { class CLibrary { bool LoadOperations(HMODULE newModule); HMODULE _module; public: operator HMODULE() const { return _module; } HMODULE* operator&() { return &_module; } CLibrary():_module(NULL) {}; ~CLibrary(); bool Free(); void Attach(HMODULE m) { Free(); _module = m; } HMODULE Detach() { HMODULE m = _module; _module = NULL; return m; } bool Load(LPCTSTR fileName); FARPROC GetProc(LPCSTR procName) const; }; }} #endif