-
Здравствуйте. Подскажите, как возможно отслеживать процесс, зная его имя без учета регистра? Например "prog.exe" и "ProG.EXE"
-
Можно либо приводить все строки к одному регистру, например, с помощью функций типа AnsiUpperCase, либо сравнивать их регистронезависимыми функциями вроде CompareText
-
function GetProcessName(FileName: string): Cardinal;
var
hSnap:THandle;
prEntry:PROCESSENTRY32;
begin
Result:=0;
hSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
prEntry.dwSize := SizeOf(prEntry);
If Process32First(hSnap,prEntry) then
begin
While Process32Next(hSnap,prEntry) do
Begin
If prEntry.szExeFile = FileName then
Result:=Cardinal(prEntry.th32ProcessID);
End;
end;
CloseHandle(hSnap);
end;
Как реализовать это в этой функции?
-
If AnsiLowerCase(prEntry.szExeFile) = AnsiLowerCase(FileName) then
-
brother, спасибо! Все отлично работает!
-
А если процессов два?
-
я так понимаю, что шерифа это не волнует...)
-
Мне кажется, я начинаю понимать суть задачи, но... подождем еще вопросов :)
-
Блин, ребята, правда столкнулся с проблемой, что процессов несколько с одинаковым именем.. подскажите, как быть???
-
Как я и говорил :)
Давай - рассказывай, что за софт пишешь.
-
Лично я пишу чит для игры. Использую эту функцию для поиска имени игры.. Если имя не соответствует регистру, то функция бесполезна..
-
Ну я так и думал.
Повезло - на нашем форуме за разработку читов не банят :)
Давай вещай дальше WoW я так думаю?
-
Нет.. Любая игра, которая позволяет запускать себя несколько раз..
-
Отлично, давай к примеру возьмем - сапер.
Как я понял, под ником "Гарик", ты его уже научился запускать, а под ником "Andrey Alekseev" ты научился отслеживать процесс данной игры.
Рассказывай следующие шаги.
-
Необходимо найти именно активный процесс.
-
Давай сделаем так, я тебе задам один вопрос, и если ты на него ответишь - продолжим.
Вопрос: чем отличается hInstance от THandle
-
Насколько мне известно, это указатель и индекс.
-
Технически верно - можно немножко развернуть?
-
Ну хотя бы, кто из них указатель, а кто индекс?
-
И желательно дополнить, индекс чего именно? :)