Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.042 c
14-58321
koty
2002-06-19 02:21
2002.07.18
Прогамирование в Delphi под Dos


3-57959
Андрусь
2002-06-25 11:27
2002.07.18
Сохранение настроек в базе


1-58213
race1
2002-07-06 08:01
2002.07.18
наследование


8-58235
anod
2002-03-12 00:39
2002.07.18
Скины


1-58086
Чайник2
2002-07-08 12:44
2002.07.18
CheckIt





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский