- ベストアンサー
プリントスクリーンの自動化
ウィンドウをプリントスクリーンしてファイルに保存する一連の動作を自動で実行するプログラムをC++で作ることは可能でしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
真面目に実装するなら、 GetDesktopWindow、CreateCompatibleDC、CreateCompatibleBitmap、BitBlt aあたり のAPIを使えばできます。 GetDesktopWindow でデスクトップ(画面全体)のウィンドウハンドルが取得できるので、CreateCompatibleDC/CreateCompatibleBitmapで互換ビットマップを作った後、BitBltで表示内容を取得。 手を抜くなら、keybd_event 。キー操作イベントを発行するAPIですので、「VK_SNAPSHOT を押す」「VK_SNAPSHOT を離す」の2イベントを発生させれば、キーボードからPrintScreenを押したのと同じ操作がプログラム上から実現できます。 あとは、OpenClipboard/GetClipboardData/CloseClipboardでクリップボードの内容を取得できますから、それをファイル保存。 どちらにせよ、「キー割り込みフック」なんてのは不要です。
その他の回答 (1)
- shimix
- ベストアンサー率54% (865/1590)
回答No.1
可能です。キー割り込みさえフックできればいいのでは?
質問者
お礼
ありがとうございます。 無事に解決することができました。
お礼
ありがとうございます。 無事に解決することができました。