I am investigating this exact same issue. I read in a tutorial that OpenGL can't grab/put anything outside its rendering area. If you get the screen pixel data using GDI:

HDC hScreenDC =...