
15.03.2016, 15:58
|
|
Новичок
Регистрация: 21.06.2015
Сообщений: 22
С нами:
5733802
Репутация:
53
|
|
Сообщение от Gabriel__
Почему не работает!!!
Это все изза дибильной функции stricmp которая не сравнивает две строки если они одинаковые. (код отлаживал)
Код:
Код:
#include
#include
....
DWORD GetPID(const char * m_pName)
{
DWORD m_pID = 0;
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pInfo;
pInfo.dwSize = sizeof(PROCESSENTRY32);
.................
Код:
Код:
void GetPID()
{
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pInfo;// тут хранится запись о текущем процессе
pInfo.dwSize = sizeof(PROCESSENTRY32);// размер структуры записи текущего процесса
if (Process32First(snapshot, &pInfo))
{
while (Process32Next(snapshot, &pInfo))
{
if (_stricmp(m_pName, pInfo.szExeFile) == 0)
{
m_pID = pInfo.th32ProcessID;
CloseHandle(snapshot);
return;
}
}
}
CloseHandle(snapshot);
m_pID = 0;
}
void Open(DWORD accessRights)
{
GetPID();
m_hProc = OpenProcess(accessRights, false, m_pID);
}
DWORD getPID(){ return m_pID; }
|
|
|