Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 611

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Как зная PID или имя исполняемого файла узнать путь к приложению?
Спасибо.

Евгений-477 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Евгений-477 (статус: Посетитель)
Вопрос отправлен: 8 апреля 2009, 00:35
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Пупкин В В

Здравствуйте, Евгений-477!
найти по pid
в
uses tlhelp32, Psapi;

с помощью функции

function GetModulePath(PID: DWord): string;
var
cb: DWORD;
I: Integer;
ProcCount: Integer;
hMod: HMODULE;
hProcess: THandle;
PIDArray: array [0..1023] of DWORD;
ModuleName: array [0..300] of Char;

begin
FillChar(ModuleName, SizeOf(ModuleName), #0);
EnumProcesses(@PIDArray, SizeOf(PIDArray), cb);
ProcCount := cb div SizeOf(DWORD);
for I := 0 to ProcCount - 1 do
begin
hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,
False, PIDArray[i]);
if (hProcess <> 0) then
begin
EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb);
GetModuleFilenameEx(hProcess, hMod, ModuleName, SizeOf(ModuleName));
if PID = PIDArray[i] then
Result:= ModuleName;
CloseHandle(hProcess);
end;
end;

end;

возможны проблемы с вистой! в xp все OK.

Ответ отправил: Пупкин В В (статус: 2-ой класс)
Время отправки: 8 апреля 2009, 14:24
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 8 апреля 2009, 22:09; участников в обсуждении: 1.
Евгений-477

Евгений-477 (статус: Посетитель), 8 апреля 2009, 22:09 [#1]:

Для некоторых приложений выдает типа C:\PROGRA~1\MI3AA1~1\rapimgr.exe. А как сделать, чтобы путь был без сокращений?

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:43
Выполнено за 0.02 сек.