事前にお詫び申し上げます。私はcに不慣れで、自分が何をしているのか本当にわかりません。
Windows7およびcを使用してスクリーンショットをキャプチャして表示しようとしています。私はそれがばかげているように聞こえることを知っています、最終的に私は異なるプログラムでこれらの各機能が必要になります、画面をキャプチャするものはそれを表示するものに画像を送信しますが、今のところ私は両方を1つのプログラムで動作させることを試みています。これまでにまとめたコードは次のとおりです。
#include <windows.h>
bool ScreenCapture(int x, int y, int width, int height){
// get a DC compat. w/ the screen
HDC hDc = CreateCompatibleDC(0);
// make a bmp in memory to store the capture in
HBITMAP hBmp = CreateCompatibleBitmap(GetDC(0), width, height);
// join em up
SelectObject(hDc, hBmp);
// copy from the screen to my bitmap
BitBlt(hDc, 0, 0, width, height, GetDC(0), x, y, SRCCOPY);
HDC myhDc = GetDC(hBitmap, sizeof(BITMAP), (LPSTR)&Bitmap);
BitBlt(myhDc, 0, 0, width, height, hDc, x, y, SRCCOPY);
//Display bitmap
DrawBitmap(myhDC,0,0,hBmp,SRCCOPY);
//GetDC(hBitmap, sizeof(BITMAP), (LPSTR)&Bitmap);
// free the bitmap memory
DeleteObject(hBmp);
return 0;
}
int main(){
ScreenCapture(500, 200, 300, 300);
system("pause");
}
HBITMAPを表示する方法が見つかりませんでした。HBITMAPを表示するにはどうすればよいですか?
更新:DrawBitmapを追加しましたが、機能していません...次の出力が表示され、処理方法がわかりません。
'win_screenshot.exe':ロード済み'C:\ Users \ mbrooker \ Documents \ Visual Studio 2010 \ Projects \ win_screenshot \ Debug \ win_screenshot.exe'、シンボルがロードされました。'win_screenshot.exe':ロード済み'C:\ Windows \ SysWOW64 \ ntdll.dll'、PDBファイルが見つからないか開くことができません'win_screenshot.exe':ロード済み' C:\ Windows \ SysWOW64 \ kernel32.dll'、見つかりませんまたはPDBファイルを開く'win_screenshot.exe':ロードされた'C:\ Windows \ SysWOW64 \ KernelBase.dll'、PDBファイルが見つからないか開くことができません'win_screenshot.exe':ロードされた'C:\ Windows \ SysWOW64 \ user32.dll' 、PDBファイル'win_screenshot.exe'が見つからないか開くことができません:ロードされた'C:\ Windows \ SysWOW64 \ gdi32.dll'、PDBファイル'win_screenshot.exe'が見つかりませんまたは開くことができません:ロードされました'C:\ Windows \ SysWOW64 \ lpk.dll'、PDBファイル'win_screenshotが見つからないか開くことができません。ロードされたシンボル。'win_screenshot.exe':ロード済み'C:\ Windows \ SysWOW64 \ imm32.dll'、PDBファイルが見つからないか開くことができません'win_screenshot.exe':ロード済み' C:\ Windows \ SysWOW64 \ msctf.dll'、見つかりませんまたはPDBファイルを開く'win_screenshot.exe':ロードされた'C:\ Windows \ SysWOW64 \ apphelp.dll'、PDBファイルが見つからないか開くことができない'win_screenshot.exe':ロードされた'ImageAtBase0x4ab60000'、ロードは包含/除外設定により無効になっています。'win_screenshot.exe':アンロードされた'ImageAtBase0x4ab60000'プログラム'[1480] win_screenshot.exe:Native'がコード0(0x0)で終了しました。win_screenshot.exe':ロード済み' C:\ Windows \ SysWOW64 \ apphelp.dll'、PDBファイルが見つからないか開くことができません' win_screenshot.exe':ロード済み' ImageAtBase0x4ab60000'、インクルード/除外設定によりロードが無効になっています。'win_screenshot.exe':アンロードされた'ImageAtBase0x4ab60000'プログラム'[1480] win_screenshot.exe:Native'がコード0(0x0)で終了しました。win_screenshot.exe':ロード済み' C:\ Windows \ SysWOW64 \ apphelp.dll'、PDBファイルが見つからないか開くことができません' win_screenshot.exe':ロード済み' ImageAtBase0x4ab60000'、インクルード/除外設定によりロードが無効になっています。'win_screenshot.exe':アンロードされた'ImageAtBase0x4ab60000'プログラム'[1480] win_screenshot.exe:Native'がコード0(0x0)で終了しました。