Hi,
I am the owner of Azereus, which functions and a description can be found at Azereus.pl. This is a program used to fight with cheaters in multiplayer computer games. This program makes screenshots of what a Windows user sees on the screen. Making such discharge is to create a TCanvas class, set the handle to the active window by GetDesktopWindow function and then calling the method TCanvas.Canvas.CopyRect. The process is working properly, both the XP and Vista. Also works on XP when it is running the game (if the program makes the screenshots of the game), but unfortunately in the case of Vista, no longer the case. When the operating system is running a game, my program makes black screenshots. I do not know what is the cause, whether it is a problem with support for OpenGL, if the program uses the wrong window handle, or something else. In addition, the program described in the above situation does sound screenshots where the game is in window mode (not fullscreen) or using d3d mode. Please help, I join you take screenshots of the code:
Greets,Code: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;
v1o
Last edited by WingedPanther; 02-10-2010 at 09:03 AM. Reason: add code tags (the # button)
It sounds like a security issue in Vista.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks