Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > exe


Автор: Dph 30.3.2004, 06:53
Зная handle окна как узнать "exe"шник этого окна?

Автор: Maverick 30.3.2004, 09:29
Как, зная Handle окна программы, определить имя EXE
Previous Top Next


// Для начала определяешь какому процессу принадлежит окно:

var pProcID: ^DWORD;
begin
GetMem(pProcID, SizeOf(DWORD));
GetWindowThreadProcessId(WinHandle, pProcID);
end;

// а после этого используешь TProcessEntry32 примерно так:

function GetExeNameByProcID(ProcID: DWord): string;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

FProcessEntry32.dwSize := Sizeof(FProcessEntry32);

ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

Result := '';
while (Integer(ContinueLoop) <> 0) and (Result = '') do
begin
if FProcessEntry32.th32ProcessID = ProcID then
Result := FProcessEntry32.szExeFile;
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
end;

// Не забудь в uses добавить Tlhelp32


Взято с www.delphiworld.narod.ru

Это между прочим, я FAQ форума процитировал - внимательнее.... Даже вопрос почти одинаковый...

Автор: Dph 31.3.2004, 15:57
Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)