
20.02.2015, 01:13
|
 |
LMD-DML
|
|
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
|
|
Код:
uses TlHelp32;
function GetExeFilePath(ExeFileName: String): String;
var
hSnapshot, hSnapshot2: THandle;
Proc: TProcessEntry32;
m: TModuleEntry32;
begin
Result := '';
hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
try
proc.dwSize := Sizeof(proc);
if Process32First(hSnapshot, proc) then
repeat
if AnsiSameText(proc.szExeFile, ExeFileName) then
begin
hSnapshot2 := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,
proc.th32ProcessID);
try
m.dwSize := SizeOf(TModuleEntry32);
if Module32First(hSnapshot2, m) then
begin
Result := m.szExePath;
Exit;
end;
finally
CloseHandle(hSnapshot2);
end;
end;
until not Process32Next(hSnapshot, proc);
finally
CloseHandle(hSnapshot);
end;
end;
|