Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.18;
Скачать: CL | DM;

Вниз

FilePathFromHandle?   Найти похожие ветки 

 
n\a   (2002-05-17 01:24) [0]

subj. я использую TProcessEntry32 это не очень удобно... есть какая нить функция API чтобы определить по handle путь к программе?


 
_Toltec   (2002-05-17 02:16) [1]

Может слегонца корява, но зато работает

type
TWinParams = record
wpExeName: String; имя файла
wpPath: String; путь
wpProcessId: Cardinal; pid
end;

uses tlhelp32;

function ExeFileByWindowHwnd(wHandle: HWND): TWinParams;
const
hProcessSnap: THandle = 0;
bRet: Boolean = False;
var
pe32: PROCESSENTRY32;
me32: MODULEENTRY32;
wProcessID : DWORD;
begin
GetWindowThreadProcessId(wHandle, @wProcessID);
Result.wpProcessId:= wProcessID;

Result.wpExeName:= "";
Result.wpPath:= "";


hProcessSnap := CreateToolhelp32Snapshot(TH32CS_SNAPALL, wProcessID);
try
if hProcessSnap = HWND( - 1) then exit;


pe32.dwSize := sizeof(PROCESSENTRY32);
me32.dwSize := sizeof(MODULEENTRY32);

if (Process32First(hProcessSnap, pe32)) then
repeat
if pe32.th32ProcessID = wProcessID then
begin
Result.wpExeName:= StrPas(PChar(@pe32.szExeFile));
if (Module32First(hProcessSnap, me32)) then
repeat
Result.wpPath:= StrPas(PChar(@me32.szExePath));
until (Result.wpPath<>"") or (not Module32Next(hProcessSnap, me32));
end;
until (Result.wpExeName<>"") or (not Process32Next(hProcessSnap, pe32));
finally
CloseHandle(hProcessSnap);
end;
end;


 
n\a   (2002-05-18 06:07) [2]

действительно "слегонца корява" =) а ты вопрос до конца прочитал?
> я использую TProcessEntry32 это не очень удобно...



Страницы: 1 вся ветка

Текущий архив: 2002.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
6-58248
vsu
2002-03-31 13:25
2002.07.18
Socket Error


14-58308
DeMoN-777
2002-06-19 18:18
2002.07.18
Программист


3-58007
Alexandr
2002-06-25 11:18
2002.07.18
Книга по Interbase и новый сайт


4-58372
Vovas
2002-05-18 12:47
2002.07.18
Не обновляются обои на рабочем столе под win2000.


7-58348
Dark_Dan
2002-04-08 11:18
2002.07.18
ККМ ЭКР 31002Ф