ユーザは、スクリーンショットをキャプチャしてユーザ定義の場所にイメージを保存できる小さなアプリケーションを作成しました。また、アクティブなウィンドウのスクリーンショットをキャプチャすることもできます。アクティブウィンドウのキャプチャスクリーンショット
問題はアクティブなウィンドウにあります。 Javaがアクティブなウィンドウのスクリーンショットを取得する方法を提供していないことを知りました。だから、私は探偵と私は、開発者がスクリーンショットを取得し、クリップボードから画像を取得するAlt + PrntScrnを使用していることがわかりました。
コードは、次のいずれかになります。Altキーをロボットクラスによって押されたとき
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_PRINTSCREEN);
robot.keyRelease(KeyEvent.VK_PRINTSCREEN);
robot.keyRelease(KeyEvent.VK_ALT);
Thread.sleep(1500);
RenderedImage image = (RenderedImage)getClipboard();
saveToImage(image,targetLocation);
今何が起こるかは、フォーカスは、ユーザーが取得したいそのアプリケーションのツールバーに行くされていることスクリーンショットとスクリーンショットはツールバーから取得され、ユーザーがフォーカスしているウィンドウのスクリーンショットではありません。
この問題を解決する方法についてアドバイスしてください。
* "開発者はAlt + PrntScrnを使用してスクリーンショットを取得しています" * Windows上でのみ動作するAFAIU。 –