File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Swing / AWT / SWT and the fly likes Capturing ScreenShot of the the Active Window Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Capturing ScreenShot of the the Active Window" Watch "Capturing ScreenShot of the the Active Window" New topic
Author

Capturing ScreenShot of the the Active Window

Parth Bhatt
Ranch Hand

Joined: Oct 19, 2005
Posts: 58
Hi Ranchers,

I am working on a simple application to capture the screen shot of the entire screen and save it in a Disk File. This is what the screen capturing code looks like :



Now i need to add a feature that would capture the screen shot of only the Active Window (& not the entire screen).

Do we have such APIs in java, which my application can use directly ? If not, what could be the ways in which this can be implemented ?


If your new Big Idea doesn't scare the hell out of you, <br />it's probably not a "new Big Idea".
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41865
    
  63
I would think that the way to do it is to pass the rectangle of the currently active window to the createScreenCapture method, instead of the rectangle of the full screen.


Ping & DNS - my free Android networking tools app
Parth Bhatt
Ranch Hand

Joined: Oct 19, 2005
Posts: 58
Exactly Ulf... but is there a way to get the rectangle of the active window.

Specifically, do we have APIs provided by either jdk or other lib that would return the rectangle for the active window...?
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41865
    
  63
Assuming that we're talking about a Java window, look at the getLocationOnScreen method. In conjunction with the getWidth and getHeight methods it should give you the necessary data. The getBounds method may also be helpful.
Parth Bhatt
Ranch Hand

Joined: Oct 19, 2005
Posts: 58
Sorry, for being a little less specific...

Actually, I was referring to the OpenSource project that i started :
GNUSnap

It Presents a very simple GUI that lets the user to capture the screen shot(for now, the snap shot is only of the complete screen) @ the click of a button.

What i wish to add to this is that the user can set an appropriate timeout(say of n secs) and click the button to take the screen shot. After n seconds my app would capture the shot of the Window that is the Active Window(this need not be a window launched my My App, it could be any window belonging to any process in the system).

For Example : Assume i am using Windows. I could configure my app to take a snap shot of the Active Window after 5 secs, minimize the app and launch Notepad. After 5 secs My App would take the snapshot of Notepad(and not the whole screen).

Similarly, if i am on Linux, i would be able to do the same.

If anyone has any idea regarding this, please put it forth...
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Capturing ScreenShot of the the Active Window