I don't know if you already took care of this, but coincidentially I am working on something that needs to do the same. Here's the function I use:
#include <tlhelp32.h>
int GetProcessID(const char* szProcessExe)
{
HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD |TH32CS_SNAPPROCESS,NULL);
PROCESSENTRY32 processEntry;
processEntry.dwSize=sizeof(PROCESSENTRY32);
DWORD dwProcessID=0;;
if( Process32First(hSnapshot,&processEntry))
{ do
{ if(!stricmp(szProcessExe,processEntry.szExeFile))
{
dwProcessID=processEntry.th32ProcessID;
break;
}
processEntry.dwSize=sizeof(PROCESSENTRY32);
} while(Process32Next(hSnapshot,&processEntry));
}
CloseHandle(hSnapshot);
return dwProcessID;
}