|
|
||||
アプリケーション > 画面をキャプチャしたい [ 1 | 2 ] |
|||||
画面をキャプチャしたい - 2/2 |
更新 : 2009/01/05 |
||||
|
|
|||
まず、Image1
の大きさをスクリーンの大きさに合わせておきます。 GetWindowDC 関数は、 タイトルバー、 メニュー、 スクロールバーを含む、ウィンドウ全体のデバイスコンテキストが取得できると書かれています。HDC GetWindowDC(hwnd) とありますから、ウィンドウのハンドルを指定してやると、デバイスコンテキストのハンドルが返ってくるようです。デスクトップのウィンドウハンドルは、0 なのでこれを指定します。 Canvas を作成しておきます。Canvas のハンドルプロパティには、 GetWindowDC 関数で取得した Windows GDI ハンドルを指定します。 rect 変数は、スクリーンの大きさを代入して、CopyRect に渡します。CopyRect メソッドを使うと、キャンバス上のイメージを TCanvas オブジェクトのイメージに転送できます。 ReleaseDC 関数は、 デバイス コンテキスト (DC) を解放して他のアプリケーションがそれを使用できるようにします。
以上でコーディングはおしまいです。 コンパイルして実行してみてください。ちゃんと画面がキャプチャできましたか? キャプチャソフトの作成はこれで終了です。お疲れ様でした。 今後の課題 キャプチャの方法にアレンジを加えたフリーウエア Cap がダウンロードできます。参考にしてください。イメージ画像を貼り付けておきます。 以上のコードは、ご自由にお使いいただいて結構です。ただし、コードを使用した結果、問題が生じても責任はいっさい負いかねますのでご了承ください。 |