画面のスクリーンショット API – プログラミング – Home

画面のスクリーンショット API
 
通知
すべてクリア

[解決済] 画面のスクリーンショット API


とろり
 とろり
(@とろり)
ゲスト
結合: 14年前
投稿: 10
Topic starter  

こんにちわ。

ディスプレイの全画面をスクリーンショットして、

ファイルへと保存したい場合、

どんなAPIを用いればいいか教えて頂けませんか?

以上、よろしくおねがいします。


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

使用予定の開発環境、IDEのバージョンとエディッション等

「使用上の注意」に書いてある情報を提示してください。

MFCを使うのかWin32APIの範疇でしたいのか、
GDI+は使えるのか等々、提示する情報が多いほど
有効なレスが受けられる確率が上昇します。


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
 

::GetSystemMetrics()で情報をサイズを取得して
::GetDC( NULL );でデスクトップでしょ
互換のCDC,CBitmapを作ってBitBlt();
CImageとかにアタッチしてからの
CImage::Save()とかなら簡単じゃないかな
で,解放

おっとAPIってなんだぁ?


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
 

もっと、簡単な方法

1.::keybd_event( VK_SNAPSHOT,0,KEYEVENTF_EXTENDEDKEY,0 );
でクリップボードにコピーして
2.::GetaClipboardData( CF_BITMAP );でHBITMAPを取得して
3.CImage::Save()とかで保存
4.もちろん解放とか

あ、クリップボードの操作が増えたので、もっと簡単かどうかは微妙だぁ。。。


返信引用
とろり
 とろり
(@とろり)
ゲスト
結合: 14年前
投稿: 10
Topic starter  

使用環境などを書かずにすみませんでした。

APIと書いた意味は「MFCを使わずWindows API関数のみを使いたい」と伝えたかったので
す。
そのため、開発環境は特に記述しなくてもよいかと思いました。

記述せずすみませんでした。

-------------------------------------------

hirocco さん

沢山の情報ありがとうございます!

1.GetDCからBitmap構造体を作ってWriteFile
2.keydb_event->GetClipboardData->CImage::Save

の両方でできました。
結局のところ、HWNDをどこから取得するかって事ですね。

また、2.だと驚くほど簡単ですね。

ありがとうございました。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

解決になっていますけれど、

APIと書いてしまうと一般的なAPIと区別がつきません。
APIってWin32APIだけを指す言葉じゃ有りませんし。
掲示板の場合、言葉だけのやり取りなので省略して曖昧になるくらいなら
きっちり書いた方が誤解を生まないので良いと思いますよ。

あと、CImageクラスを使うとWin32APIの範疇にならないような気がしますけれど、
良いのかなぁ。
純粋にWin32APIの範囲でやりたいなら前者のWriteFileを使った方法ではないかと。


返信引用
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

ちなみにCImageはMFCでもない。微妙な立場(vv;)。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

そもそもなぜWin32APIの範疇で処理したいのかと言う部分の説明があると
話もしやすくなるのですけれどねぇ。


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
 

単純にエクスプレスを使ってるってことなんじゃないのかな?
でも,C#もCLIもあるのにね

あ,ボーランドのコマンドラインのコンパイラだったりして。。。くすくす


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

>ボーランドのコマンドラインのコンパイラだったりして。。。くすくす
ただで手に入りますからね。
最近、入門者人気ありますね。
ただ、プラットフォームSDKをインストールしたりmakefile作成したりと準備が面倒ですよね。


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
 

> 最近、入門者人気ありますね。
まぢですかぁ,そうなの?
VSのExpressが出ちゃったから消えていく方向なのかと思ってましたよ


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました