There are some apps in the market that can take screen shots, I used such an app for my Pairs4Android Screen-shots...(ScreenShot Free, I think was the name...since then I changed device so I am not sure...) so I believe that it can be done programatically, the question is, at what level, for what I can see, they all demand the device to be rooted!