DWORD ProcessExists(char *ProcessName)
{
HANDLE hProcessSnap;
PROCESSENTRY32 pe32;
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
pe32.dwSize = sizeof(PROCESSENTRY32);
do
{
if (strcmp(ProcessName, pe32.szExeFile) == 0)
{
DWORD ProcessId = pe32.th32ProcessID;
CloseHandle(hProcessSnap);
return ProcessId;
}
} while (Process32Next(hProcessSnap, &pe32));
CloseHandle(hProcessSnap);
return 0;
}
HANDLE Memory = OpenProcess(PROCESS_ALL_ACCESS, 0, GetCurrentProcessId());
DWORD GetCSH()
{
HANDLE hModuleSnap = INVALID_HANDLE_VALUE;
MODULEENTRY32 me32;
hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetCurrentProcessId());
me32.dwSize = sizeof(MODULEENTRY32);
Module32First(hModuleSnap, &me32);
do
{
std::string modulename = std::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);
}