Witam,
od pewnego czasu staram uporać się z problemem przejścia z trybu pełnoekranowego narzuconego domyślnie przez grę do trybu okienkowego. Napisana przeze mnie procedura jedynie wyprowadza gre z trybu pełnoekranowego i tworzy warstwę o wymiarach 800x600 na pulpicie. Gra dalej działa, prawidłowo odczytuje pozycje myszy lecz nie wyświetla obrazu (cały czas czarna warstwa).
Oto kod:
procedure TForm1.TryClick(Sender: TObject);
var
h: hwnd;
begin
h := FindWindow(nil, 'Crusader');
if h <> 0 then
begin
ShowWindow(h, sw_normal);
ChangeDisplaySettings(DEVMODE(nil^), 0);
ShowCursor(True);
SetWindowPos(h, HWND_TOP, 0, 0, 800, 600,SWP_SHOWWINDOW);
ShowWindow(h, SW_SHOW);
end else
ShowMessage('nie znaleziono');
end;
Z góry dziękuję!