/* (C) 2003-2007 Willem Jan Hengeveld * Web: http://www.xs4all.nl/~itsme/ * http://wiki.xda-developers.com/ * * $Id: $ */ #include "toolhelp_api.h" PFN_CloseToolhelp32Snapshot CloseToolhelp32Snapshot; PFN_CreateToolhelp32Snapshot CreateToolhelp32Snapshot; PFN_Heap32First Heap32First; PFN_Heap32Next Heap32Next; PFN_Module32First Module32First; PFN_Module32Next Module32Next; PFN_Process32First Process32First; PFN_Process32Next Process32Next; class toolhelp { HINSTANCE m_hLib; bool load_dll() { m_hLib= LoadLibrary(_T("toolhelp.dll")); if (m_hLib==NULL || m_hLib==INVALID_HANDLE_VALUE) return false; return true; } bool load_functions() { CloseToolhelp32Snapshot = GetProc(m_hLib, "CloseToolhelp32Snapshot"); CreateToolhelp32Snapshot = GetProc(m_hLib, "CreateToolhelp32Snapshot"); Heap32First = GetProc(m_hLib, "Heap32First"); Heap32Next = GetProc(m_hLib, "Heap32Next"); Module32First = GetProc(m_hLib, "Module32First"); Module32Next = GetProc(m_hLib, "Module32Next"); Process32First = GetProc(m_hLib, "Process32First"); Process32Next = GetProc(m_hLib, "Process32Next"); } bool unload_dll() { FreeLibrary(m_hLib); m_hLib= NULL; } }