For this to work your Apache service must be set to 'Allow service to interact with desktop' otherwise you will just get a blank image. To fix this right-click My Computer, select Manage/Services and Applications/Services - find the apache service (like Apache2) and right-click, select Properties - choose the Log on tab and check the 'Allow service to interact with desktop' checkbox. Restart Apache.
(PHP 5 >= 5.2.2)
imagegrabscreen — Captures the whole screen
Grabs a screenshot of the whole screen.
Returns an image resource identifier on success,
FALSE on failure.
Example #1 imagegrabscreen() example
This example demonstrates how to take a screenshot of the current screen and save it as a png image.
$im = imagegrabscreen();
This function is only available on Windows.
- imagegrabwindow() - Captures a window
If you have multiple displays set up, this function will only grab the primary display; not all of them like you would with the 'Print Screen' key.
Also, this should be pretty obvious but I'll mention it anyway, if you're running GPU-intensive applications (not CPU), calling this function will cause quite some significant lag to your machine and server response until the request is complete.