We are considering writing a software in Java that records whats monitor for certain durations of time while it is running. Do you have any suggestions on how to efficiently
I'm not sure if you'll need a framework.
Check out the documentation for the java.awt.Robot class, specifically the createScreenCapture method.
java.awt.Robot
createScreenCapture
http://java.sun.com/javase/6/docs/api/java/awt/Robot.html