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

  #9  
Старый 16.03.2016, 18:12
Gabriel__
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами: 5731627

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

Цитата:
Сообщение от legend2360  

И что именно не работает? Я скомпилил, норм всё.
Сказал же _stricmp нихрена не работает! Строки одинаковые но выдает что они разные!



Наверное это все изза вот такого преобразования

_stricmp(m_pName, (char *) pInfo.szExeFile) == 0

Без вот этого ---

Ошибка компиляции.

error C2664: _stricmp: невозможно преобразовать параметр 2 из "WCHAR [260]" в "const char *"

Код:





Код:
DWORD GetPID()
{
    DWORD m_pID = 0;
    char * m_pName = "smss.exe";

    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 pInfo;// тут хранится запись о текущем процессе
    pInfo.dwSize = sizeof(PROCESSENTRY32);// размер структуры записи текущего процесса

    if (Process32First(snapshot, &pInfo))
    {
        while (Process32Next(snapshot, &pInfo))
        {
            if (_stricmp(m_pName, (char *) pInfo.szExeFile) == 0)
            {
                m_pID = pInfo.th32ProcessID;
                CloseHandle(snapshot);
                return m_pID;
            }
        }
    }
    CloseHandle(snapshot);
    return m_pID;
}
 
Ответить с цитированием