Почему не работает!!!
Это все изза дибильной функции stricmp которая не сравнивает две строки если они одинаковые. (код отлаживал)
Это все изза дибильной функции stricmp которая не сравнивает две строки если они одинаковые. (код отлаживал)
Код:
#include <Windows.h>
#include <TlHelp32.h>
....
DWORD GetPID(const char * m_pName)
{
DWORD m_pID = 0;
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pInfo;
pInfo.dwSize = sizeof(PROCESSENTRY32);
if (Process32First(snapshot, &pInfo))
{
while (Process32Next(snapshot, &pInfo))
{
if ( !stricmp( (const char *) m_pName, (const char *) pInfo.szExeFile) )
{
m_pID = pInfo.th32ProcessID;
CloseHandle(snapshot);
return m_pID;
}
}
}
CloseHandle(snapshot);
return m_pID;
}
....
GetPID("smss.exe");