#include <Windows.h>
#include <tlhelp32.h>
#include <psapi.h>
#include <string>
DWORD GetCSH()
{
HANDLE hModuleSnap = INVALID_HANDLE_VALUE;
MODULEENTRY32 me32;
hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetCurrentProcessId());
me32.dwSize = sizeof(MODULEENTRY32);
Module32First(hModuleSnap, &me32);
do
{
string modulename = string(me32.szModule);
if(modulename.find("csh") != -1 && modulename.find(".tmp") != -1){
CloseHandle(hModuleSnap);
return (DWORD)GetModuleHandleA(modulename.c_str());
break;
}
} while(Module32Next(hModuleSnap, &me32));
CloseHandle(hModuleSnap);
}