HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 15.03.2016, 15:58
Vasiliy77
Новичок
Регистрация: 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; }
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.