How do I take screenshots of fullscreen games on a Windows 7 PC?

Solution 1:

I agree with Oak that Steam is a very viable option for taking screenshots in-game as well as the stock print screen mechanic.

I would like to pose a third option, though. You could always check out a utility like Greenshot. Which takes the print screen mechanic a step further by automatically saving the the image to the desktop, or other desired location, instead of simply leaving it in clip board (as seen here). It's free, safe and open source, and is readily available to download through the homepage I linked above or on Sourceforge. It's a 544 KB download. Unlike an application like CloudApp or Steam's screenshot utility, you will have to upload your image to a host of your choosing.

Solution 2:

Clicking the print screen button on the top-right of your keyboard (its name is usually abbreviated, e.g. Prt Scr) will save an image of the current display to the clipboard. You can later paste that image inside a suitable application (e.g. paint). Of course, that means only one screen shot at a time, since hitting the key again will override the clipboard.

Additionally, a lot of games have a special treatment for that key, and they will actually generate an image file themselves in some folder (typically under My Documents or AppData).

If you run a game with the Steam overlay on it (whether a real Steam game or just an external game launched through Steam), Steam has a special mechanism for taking screenshots, which saves the images to a special location and allows you to easily upload them online to the Steam cloud. The default key for taking Steam screenshots is F12,

Solution 3:

Taking screenshots of modern games, especially in fullscreen can indeed be a challenge. Fortunately there’s several ways to get that capture.

Built-in

In-game

Many games have a built-in screenshot key, so check the Controls section of its options to find out what it is or to set it. The default is usually one of the higher-numbered function keys (e.g. F11 or F12), but as Oak said, some use the obvious choice of PrtScr.

Windows

In addition, for many games, Windows own PrtScr handler will suffice. If it doesn’t work in fullscreen, often, but not always, switching to windowed mode (if the game supports it) will allow it to work.

Technical Explanation

When PrtScr doesn’t work for a fullscreen game (or sometimes even a windowed game), it is because the game is using the video-adapter’s hardware overlay [1] [2][3] (not to be confused with software overlays like those of Steam, Fraps, etc.) This is a special buffer (surface for DirectX games) that software can write to which provides hardware acceleration. By nature, it is just a simple (usually near-black) rectangle that the video-adapter fills in with the output image in hardware. As a result, Windows does not have access to the rendered image, and so its PrtScr handler cannot capture it. This is the same for video-players that use hardware acceleration.

Work-arounds

Safe

Fortunately, just like you can turn hardware acceleration off for a video-player, you can usually disable a game’s usage of the hardware overlay in the game’s Video section of its options by either disabling an option such as “hardware acceleration” or by choosing “software renderer”. Of course this means that the game won't perform as well, so you’ll want to change it back after capturing the image you’re interested in.

Forced

For games that don’t let you turn off the hardware overlay usage, you can force it off by simply running another program that makes use of hardware acceleration before running the game. Since most (all?) video-adapters only support a single overlay surface, running a program that uses it makes it unavailable to other programs. In the past, whenever I wanted to take a screenshot of a video I was watching, I would run Karsten Sperling’s program Alpha (which is a nifty program in its own right) because it would occupy the overlay, so that I can take a screenshot of the video without getting a black rectangle. (I don’t usually do that anymore for videos because I use VLC which a built-in screenshot key that can take correct snaps of the video even when using the overlay because the screenshot function is built-in to the same program that generates the image, so it has access to the actual image.) One caveat is that some games won’t run at all if they can’t use hardware acceleration.

Hacks

One trick that can be used to allow screen-capture in fullscreen games in Windows Vista and up is to turn off desktop composition for the game (figure 1).

Another trick I have read about is to use a registry hack to enable screenshots for software that uses DirectX:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw]
"EnablePrintScreen"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw]
"EnablePrintScreen"=dword:00000001

I haven’t been able to test or confirm this because turning off desktop compositing worked just fine, even for an odd nut like Safecracker in which taking a screenshot had previously resulting in a snap of the desktop cropped to the dimensions of the game.

Third Party

And of course there’s third-party programs as others have mentioned on this page. Fraps tends to be popular, and your concern about it impeding performance when your system can barely handle the game as-is is specious. If you turn off the FPS overlays and such, then you should be able to use it to take screenshots without it having any additional impact on performance.