3 #ifndef __WINDOWS_DLL_H
\r
4 #define __WINDOWS_DLL_H
\r
6 #include "../Common/MyString.h"
\r
12 #define My_GetProcAddress(module, proceName) GetProcAddressA(module, proceName)
\r
14 #define My_GetProcAddress(module, proceName) ::GetProcAddress(module, proceName)
\r
19 bool LoadOperations(HMODULE newModule);
\r
23 CLibrary(): _module(NULL) {};
\r
24 ~CLibrary() { Free(); }
\r
26 operator HMODULE() const { return _module; }
\r
27 HMODULE* operator&() { return &_module; }
\r
28 bool IsLoaded() const { return (_module != NULL); };
\r
30 void Attach(HMODULE m)
\r
37 HMODULE m = _module;
\r
43 bool LoadEx(LPCTSTR fileName, DWORD flags = LOAD_LIBRARY_AS_DATAFILE);
\r
44 bool Load(LPCTSTR fileName);
\r
46 bool LoadEx(LPCWSTR fileName, DWORD flags = LOAD_LIBRARY_AS_DATAFILE);
\r
47 bool Load(LPCWSTR fileName);
\r
49 FARPROC GetProc(LPCSTR procName) const { return My_GetProcAddress(_module, procName); }
\r
52 bool MyGetModuleFileName(HMODULE hModule, CSysString &result);
\r
54 bool MyGetModuleFileName(HMODULE hModule, UString &result);
\r