Code: |
function ExeNameByHandle(aWinHandle:HWND):string; {исправлено для ©Drkb v.3}
// Для начала определяешь какому процессу принадлежит окно: var pProcID: ^DWORD; begin GetMem(pProcID, SizeOf(DWORD)); GetWindowThreadProcessId(aWinHandle, pProcID); result:=GetExeNameByProcID(pProcID^); FreeMem(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; CloseHandle(FSnapshotHandle); end;
// Не забудь в uses добавить Tlhelp32 |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!