限定しりとり

ウィンドウをプリントスクリーンしてファイルに保存する一連の動作を自動で実行するプログラムをC++で作ることは可能でしょうか?

A 回答 (2件)

真面目に実装するなら、


GetDesktopWindow、CreateCompatibleDC、CreateCompatibleBitmap、BitBlt aあたり のAPIを使えばできます。
GetDesktopWindow でデスクトップ(画面全体)のウィンドウハンドルが取得できるので、CreateCompatibleDC/CreateCompatibleBitmapで互換ビットマップを作った後、BitBltで表示内容を取得。

手を抜くなら、keybd_event 。キー操作イベントを発行するAPIですので、「VK_SNAPSHOT を押す」「VK_SNAPSHOT を離す」の2イベントを発生させれば、キーボードからPrintScreenを押したのと同じ操作がプログラム上から実現できます。
あとは、OpenClipboard/GetClipboardData/CloseClipboardでクリップボードの内容を取得できますから、それをファイル保存。

どちらにせよ、「キー割り込みフック」なんてのは不要です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
無事に解決することができました。

お礼日時:2008/06/03 10:31

可能です。

キー割り込みさえフックできればいいのでは?
    • good
    • 0
この回答へのお礼

ありがとうございます。
無事に解決することができました。

お礼日時:2008/06/03 10:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!