Captura de canvas cheia de um programa DirectX em java (Javacv?)

[Para Windows] Eu sei que é possível capturar a canvas de um programa DirectX em execução em linguagem C #, mas você conhece algum código de exemplo para Java?

Eu estou realmente enfrentando esse mesmo problema do que isso Tire fotos da canvas dentro de aplicativos de canvas cheia com java? . A aula de robô não ajudou e nem funcionou.

Mas ainda não encontrei nenhuma amostra de código java na internet sobre isso. Obrigado por qualquer ajuda que você possa fornecer sobre este tópico.

Desde que trabalhei mais, veja também:

 import java.awt.*; import java.awt.datatransfer.*; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import javax.swing.*; import javax.imageio.ImageIO; import java.io.File; public class ClipboardScreenshot { public static void main(String[] args) throws Exception { // get the screenshot Robot robot = new Robot(); robot.keyPress(KeyEvent.VK_PRINTSCREEN); robot.delay(40); robot.keyRelease(KeyEvent.VK_PRINTSCREEN); robot.delay(404); Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); DataFlavor[] flavors = cb.getAvailableDataFlavors(); System.out.println("After: "); for (DataFlavor flavor : flavors) { System.out.println(flavor); if (flavor.toString().indexOf("java.awt.Image")>0) { Object o = cb.getData(flavor); Image i = (Image)o; // ImageIO will not write an Image // It will write a BufferedImage (a type of RenderedImage) BufferedImage bi = new BufferedImage( i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics2D g = bi.createGraphics(); g.drawImage(i, 0, 0, null); g.dispose(); JScrollPane sp = new JScrollPane(new JLabel(new ImageIcon(bi))); sp.setPreferredSize(new Dimension(800,600)); JOptionPane.showMessageDialog(null, sp); File f = new File( System.getProperty("user.home") + File.separator + "the.png"); ImageIO.write(bi, "png", f); } } } }