Показать сообщение отдельно

  #6  
Старый 15.03.2016, 14:26
Gabriel__
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами: 5731627

Репутация: 108
По умолчанию

Почему не работает!!!

Это все изза дибильной функции 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);

        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");
 
Ответить с цитированием