Witam!
Moja aplikacja musi pobrać screenschoots danego okna oraz posiadać jego dane, tz. współrzędne.
Prościej mówiąc, mam jakiś program otwarty na pulpicie i chce by wygląd tego okna był wstawiony no np. do TImage,
Na początku myślałem by użyć jakoś funkcji THandle i pobrać współrzędne okna oraz jego rozmiar a następnie w jakiś sposób ograniczyć "pole widzenia" i pokombinować z tym:
var
Can: TCanvas;
B: TBitmap;
begin
try
Can := TCanvas.Create;
Can.Handle := GetWindowDC(GetDesktopWindow);
Image1.Canvas.Create;
Image1.Width := Screen.Width;
Image1.Height := Screen.Height;
Image1.Canvas.CopyRect(Rect(0, 0, Screen.Width, Screen.Height), Can, Rect(0, 0, Screen.Width, Screen.Height));
finally
Can.Free;
//B.Free;
end;
ale nie bardzo wiem jak się za to zabrać.
Problem pojawia się dlatego iż znam jedynie nazwę aplikacji (nazwę pliku exe), bądź jej "tytuł", wyświetlany na pasku zadań.
I w jaki spoób otrzymać dane takie jak:
- współrzędne okna (położenie na ekranie)
- wymiary
da się przez THandle? znając nazwę pliku exe, bądź po prostu nazwę wyświetlaną na pasku zadań (pobrać uchwyt do aplikacji)
Proszę o ewentualną pomoc za którą serdecznie dziękuje!
P.S.
to może się przydać :-/
var
H : THandle;
begin
H := FindWindow(nil, 'tutaj wstawiamy nazwe okna);
SetWindowPos(H, HWND_TOP, 0, 100, 200, 200,SWP_SHOWWINDOW);