Узнать id процесса зная его имя
|
|
Anton93 | Дата: Пятница, 22.04.2011, 19:06 | Сообщение # 1 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| перерыл все, рабочего так и не нашел, знаю имя процесса, нужен его ид получить, как этот сделать?
ICQ: 41896
|
|
| |
C@T | Дата: Пятница, 22.04.2011, 19:53 | Сообщение # 2 |
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
| держи, для себя писал когдато , в юзесах только tlhelp32 указать незабудь Function GetProcID(name:string):Cardinal; var SnapShot:THandle; process:TProcessEntry32; begin result := 0; SnapShot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);//делаем снимок процессов process.dwSize := SizeOf(Process);//указываем размер структуры Process32First(SnapShot,Process);//начинаем перебирать процессы repeat if process.szExeFile = name then begin result := process.th32ProcessID; CloseHandle(SnapShot); exit; end; until Process32Next(SnapShot,Process) <> true; CloseHandle(SnapShot); end;
|
|
| |
Anton93 | Дата: Суббота, 23.04.2011, 13:25 | Сообщение # 3 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| ошибка! память не может быть read и так кстати многие примеры пишут
ICQ: 41896
|
|
| |
C@T | Дата: Суббота, 23.04.2011, 17:39 | Сообщение # 4 |
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
| Quote (Anton93) ошибка! память не может быть read и так кстати многие примеры пишут это где такая ошибка ?
|
|
| |
Anton93 | Дата: Суббота, 23.04.2011, 18:04 | Сообщение # 5 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| при запуске этой функции, ну когда до нее дело доходит. попробуй сам
ICQ: 41896
|
|
| |
gravitas | Дата: Воскресенье, 24.04.2011, 13:49 | Сообщение # 6 |
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
| Нашел в РАТе функцию получения списка процессов. Там же и айди получается. Протестил - работает. Переделывать под получение айди из имени проца не стал. Code function GetProc():String; var Proceso : TProcessEntry32; ProcessHandle : THandle; HayOtroProceso : Boolean; begin Proceso.dwSize := SizeOf(TProcessEntry32); ProcessHandle := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0); if Process32First(ProcessHandle, Proceso) then //Si encuentra el primer proceso begin Result:= String(Proceso.szExeFile) + '|'+ IntToStr(Proceso.th32ProcessID)+'|'; repeat HayOtroProceso := Process32Next(ProcessHandle, Proceso); if HayOtroProceso then Result:=Result + String(Proceso.szExeFile) + '|'+ IntToStr(Proceso.th32ProcessID)+'|'; until not HayOtroProceso; //Y esto se repite hasta que Process32Next retorne False end; CloseHandle(ProcessHandle); end; (Proceso.th32ProcessID)
TheDeduction Для ускорения получения ответов на ваши вопросы рекомендуется подкармливание в виде +'ов в рейтинг :)
|
|
| |
Anton93 | Дата: Понедельник, 25.04.2011, 12:10 | Сообщение # 7 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| ок! буду пробовать, потом отпишусь о работоспособности
ICQ: 41896
|
|
| |
XSPY | Дата: Понедельник, 25.04.2011, 13:08 | Сообщение # 8 |
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
| gravitas, не в спайнете нашел?
Я не крекер,а программист! Я не преступник-я свободный человек! Лучше один раз накодить,чем сто раз качать билды!
|
|
| |
gravitas | Дата: Понедельник, 25.04.2011, 13:26 | Сообщение # 9 |
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
| XSPY, этот пример почти во всех РАТах используется. Но взял из CoolVibes
TheDeduction Для ускорения получения ответов на ваши вопросы рекомендуется подкармливание в виде +'ов в рейтинг :)
|
|
| |
C@T | Дата: Понедельник, 25.04.2011, 14:26 | Сообщение # 10 |
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
| Quote (gravitas) Нашел в РАТе функцию получения списка процессов. Там же и айди получается. Протестил - работает. Переделывать под получение айди из имени проца не стал. а мой код разве не тоже самое делает ?
|
|
| |
XSPY | Дата: Вторник, 26.04.2011, 14:43 | Сообщение # 11 |
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
| gravitas, не слыхал о таком... а насчет примера-то да))
Я не крекер,а программист! Я не преступник-я свободный человек! Лучше один раз накодить,чем сто раз качать билды!
|
|
| |