Jak w języku delphi mogę pobrać uchwyt z okna innego uruchomionego w danej chwili programu znając jego nazwę?
0
0
FindWindow , ew. jak chcesz jeszcze do jakiejś kontrolki to FindWindowEx
0
A jak mógłbym przenieść tak uchwycone okno w inne miejsce na ekranie?
0
SetWindowPos
0
Próbowałem pobrać uchwyt programu paint i przenieść jego okno w inne miejsce, ale nie udało się. Jak musiałbym wypełnić te procedury, aby uchwycić okno jakiejś aplikacji i je przemieścić?
0
Kod jest poniżej, ale na pewno wszystko pokręciłem
var
hand : hwnd;
h2 : hwnd;
begin
findwindowex(hand, h2, pchar('mspaint.exe'), pchar('Paint'));
end;
Wie może ktoś, jak to poprawić?
0
function EnumWindowsProc(hwnd: HWND; lParam: LPARAM): BOOL; stdcall;
var
tytul: array[0..255] of Char;
begin
GetWindowText(hwnd, @tytul, 255); //pobranie tekstu okna
if AnsiPos(AnsiString('Paint'), AnsiString(@tytul)) <> 0 then //sprawdzenie czy owy teks zawiera słówko 'Paint'
SetWindowPos(hwnd, 0,50, 50, 0, 0, SWP_NOSIZE or SWP_NOZORDER); //jeśli tak, to przesuwamy okno na pozycje 50, 50
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc, 0); //zaczynamy przeglądać wszystkie okna funkcją EnumWindowsProc
end;
0
OK, działa.
Dzięki za pomoc