사과드립니다. 나는 C를 처음 접했고 나는 정말로 내가하는 일을 모른다.HBITMAP 표시
Windows 7 및 C를 사용하여 스크린 샷을 캡처하고 표시하려고합니다. 나는 그것이 바보 같이 들린다는 것을 안다. 결국 나는 각기 다른 프로그램에서이 기능들을 필요로 할 것이다. 화면을 캡쳐하는 것은 이미지를 디스플레이하는 것으로 보내지 만, 현재는 둘 모두를 하나의 프로그램에서 작동 시키려고한다. . 지금까지 작성한 코드는 다음과 같습니다.
#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 : \ 사용자 \ 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'로드 됨, Can not PDB 파일을 찾거나 열 수 없습니다. 'win_screenshot.exe'로드 : 'C : \ Windows \ SysWOW64 \ KernelBase.dll'로드 됨. PDB 파일을 찾을 수 없거나 열 수 없음 'win_screenshot.exe':로드 됨 'C : \ Windows \ SysWOW64 \ gdi32.dll' : \ Windows \ SysWOW64 \ lpk.dll ', PDB 파일을 찾거나 열 수 없습니다. 'win_screenshot.exe ':'C : \ Windows \ SysWOW64 \ usp10.dll '로드 됨, PDB 파일을 찾거나 열 수 없음 'win_screenshot. exe ':로드 된'C : \ Windows \ SysWOW64 \ msvcrt.dll ', Can not fi PDB 파일을 찾을 수 없거나 열 수 없음 'win_screenshot.exe':로드 됨 'C : \ Windows \ SysWOW64 \ PDB 파일을 찾을 수 없거나 열 수 없음 'win_screenshot.exe':로드 됨 'C : \ Windows \ SysWOW64 \ rpcrt4.dll' : \ Windows \ SysWOW64 \ sspicli.dll ', PDB 파일을 찾거나 열 수 없음 'win_screenshot.exe ':'C : \ Windows \ SysWOW64 \ cryptbase.dll '로드 됨, PDB 파일을 찾거나 열 수 없음 'win_screenshot. exe ':로드 된'C : \ Windows \ SysWOW64 \ msvcr100d.dll ', 심볼로드 됨. 'win_screenshot.exe'로드 : 'C : \ Windows \ SysWOW64 \ imm32.dll'로드 됨, PDB 파일을 찾거나 열 수 없음 'win_screenshot.exe': 'C : \ Windows \ SysWOW64 \ msctf.dll'로드 됨, Can not 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)으로 종료되었습니다.
콘솔 모드 응용 프로그램에서 비트 맵을 표시 할 수 없습니다. –