I am using PIL to grab a screen shot, but it is only capturing a part of the screen.
Here is a screen shot of my desktop
And this is what the program captur
I was having this problem too earlier today. The script would only capture pixels 0,0 - 1536,864. I recently switched to windows 8 and noticed that some programs seemed to be displayed at the incorrect resolution. After some searching I found a fix.
I'll update if I find a universal fix, but I thought I'd post here since I searched for an hour or so and couldn't find a solution.
EDIT:
Universal fix
This will result is a smaller but sharper text and icons.
There is a working workaround for this without fiddling with the OS settings. The solution is to use the following to make your program DPI aware on Windows :
from ctypes import windll
user32 = windll.user32
user32.SetProcessDPIAware()
Hope that helps