PrintScreen de uma janela específica

E ae galera, tudo blz?
Primeiramente gostaria de agradecer ao pessoal aki q têm sempre me ajudado com as minhas dúvidas e desejar um feliz natal a todos!

vamos a minha dúvida agora… eu tava querendo q minha aplicação pudesse tirar um printscreen de uma janela especifica aberta na tela! A janela poderia ser tanto da minha própria aplicação quanto outras janelas do windows q tivessem abertas!
Queria saber tbm se tem como tirar um printscreen da tela, mas q uma janela q esteja aberta nao saia no printscreen, como acontece com o ponteiro do mouse!
E a minha ultima duvida eh se teria como eu saber o nome de todas as aplicações q estão rodando no sistema, ou pelo menos saber quais são as janelas abertas no momento!

T+ pessoal!

Existe o comando tasklist do windows que lista todos os processos que estao sendo executados talvez ajude

http://www.rgagnon.com/javadetails/java-0489.html

Capturar tela

[code]import java.awt.;
import java.awt.image.
;
import java.io.;
import javax.imageio.
;

public class Estudos{
public static void main(String[] args){
try{
Robot robot = new Robot();
// Captura a tela na àrea definida pelo retângulo
BufferedImage bi = robot.createScreenCapture(new
Rectangle(0, 0, 300, 250));
// Salva a imagem
ImageIO.write(bi, “jpg”, new File(“captura_tela. jpg”));
}
catch(AWTException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
}
[/code]