programowalnia.info

Nowy mechanizm forum! Problemy i sugestie proszę zgłaszać do administratora
Teraz jest 2010-09-03, 14:07

Wszystkie czasy w strefie UTC + 1




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
 Tytuł: [Delphi] Problem z Windows Vista
PostNapisane: 2009-06-29, 16:32 
Offline

Dołączył(a): 2009-06-29, 16:28
Posty: 1
Witam,
jestem właścicielem programu Azereus, którego funkcje oraz opis można znaleźć na stronie www.azereus.pl. Jest to program służący do walki z oszustami w grach komputerowych typu MultiPlayer. Działanie programu który napisałem polega na robieniu screenów z tego co użytkownik systemu Windows widzi na ekranie. Zrobienie takiego zrzutu polega na stworzeniu klasy TCanvas, ustawieniu uchwytu do aktywnego okna poprzez funkcję GetDesktopWindow a następnie wywołanie metody TCanvas.Canvas.CopyRect. Proces działa prawidłowo zarówno w systemie XP jak i Vista. Działa także w systemie XP w sytuacji gdy jest na nim uruchomiona dana gra (program robi wtedy screeny z tej gry), niestety w przypadku systemu Vista, już tak nie jest. Gdy na tym systemie operacyjnym uruchomiona jest gra, mój program robi czarne screenshoty. Nie wiem co jest tego przyczyną, czy jest to problem z obsługą OpenGL, czy program używa złego uchwytu okna, czy jeszcze coś innego. Dodatkowo, program w powyżej opisanej sytuacji robi prawidłowe zrzuty ekranu, w przypadku gdy gra jest uruchumoia w trybie okienkowym (nie pełnoekranowym). Proszę o pomoc, dołączam kod robienia screenshotów:

function Tscreener.GetNowScreen: tjpegimage;
var
btMap:Tbitmap; //mapa bitowa
DeskTop: TCanvas;
begin
DeskTop := TCanvas.Create;
try
btMap := TBitmap.Create;
try
DeskTop.Handle := GetWindowDC ( GetForegroundWindow );
btMap.Width := Screen.Width;
btMap.Height := Screen.Height;
btMap.Canvas.CopyRect (Rect(0, 0, Screen.Width, Screen.Height), DeskTop,
Rect (0, 0, Screen.Width, Screen.Height));
Result := TJPEGImage.Create;
Result.CompressionQuality := 60;
Result.Assign(btMap);
finally
FreeAndNil(btMap);
end;
finally
FreeAndNil(DeskTop);
end;
end;


Góra
 Zobacz profil Wyślij e-mail  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Wszystkie czasy w strefie UTC + 1


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Skocz do:  
 cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
fashion-today.eu :: Numizmatyka

Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
phpBB SEO