Solved

Direct X screen shots capturing

Posted on 2006-10-31
3
528 Views
Last Modified: 2013-12-08
I'm trying to write a DirectX program that captures a screen shot that includes any graphics created by other DirectX programs, in particular those with overlays.  But I've read that EnumSurfaces only can find existing surfaces owned by my process - which seems to match my experience.  

Is there some way around this?  For example, has anyone tried injecting DirectX code into other processes?  Written a special video driver to access the video memory directly?   Are there obvious problems I should think about before embarking upon this?  

Thanx
0
Comment
Question by:bzwebcorp
3 Comments
 
LVL 18

Expert Comment

by:JoseParrot
ID: 17847270
Hi,

I don't see how to circumvect this.
DirectX is Microsoft propertary code. Graphics cards makers as ATI, Nvidia, MSI, etc, have their own drivers, so there are at least two black boxes in the way.
Even if we were able to read directly video memory content, we have nothing to do with it, because format, maping, way of rendering, are unknow to us.

Sounds that what you have discovered is the best we can do.

Jose
0
 
LVL 3

Accepted Solution

by:
OutsideTheBox earned 500 total points
ID: 17854477
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Artificial Intelligence comes in many forms, and for game developers, Path-Finding is an important ability for making an NPC (Non-Playable Character) maneuver through terrain.  A* is a particularly easy way to approach it.  I’ll start with the algor…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now