А тебе у своего окна или у чужого.
Если у своего, то тут все просто. В качестве иконки окна (если ты сам не назначал иконку отдельному окну, а в этом случае ты уже ее имеешь) всегда используется иконка приложения, а она доступна через Aplication.Icon.
Если надо получить иконку чужого окна, то тут немного сложнее. Исходя из задачи, как я понимаю, хэндл нужного окна у тебя уже должен быть. Тогда по хэндлу окна через GetWindowThreadProcessId получаем ID процесса, по ID процесса через GetModuleFileNameEx (см
https://stackoverflow.com/questions/...d-using-delphi) получаешь путь к программе, ну а дальше вызываешь ExtractAssociatedIconW (см доку
https://learn.microsoft.com/en-us/wi...ssociatediconw) для получения хэндла иконки. А далее делаешь что-то типа такого:
Код:
var
IconHndl : THandle;
Icon : TIcon;
begin
IconHndl := GetIconHandleByWnd(WndHandle);
Icon := TIcon.Create;
Try
Icon.Handle := IconHndl;
Form1.Canvas.Draw(0,0,Icon); // Это просто для примера, вроде так...
Finally
Icon.Free;
End;