|
감사합니다. 일단은 테스트를 해보겠는데 언제 뜰지 몰라서 불안하네요 ㅠㅠ
물론 알려주신데로 하면 안뜨겠지만 ... 제가 아직 초보라서 ㅠㅠ
kylix 님이 쓰신 글 :
: DC자원(hdHandle)을 다 쓴 후 ReleaseDC함수를 호출해서 해제해주세요.
:
: 쿼드콥터헬기 님이 쓰신 글 :
: : 화면 이미지 캡쳐 할때 뜨는 것 같습니다.
: :
: : 매번 뜨는 건 아니고요 어쩌다가 한번씩 뜨는데 그게 왜 그러는지 알려 주실수 있나요?
: :
: : 메모리 해제는 다해놨습니다.
: :
: : void __fastcall TRelayStart::ScreenCapture(void)
: : {
: : char capstrr[50];
: : int i=0;
: :
: : HDC hdHandle = GetWindowDC(this->Handle);
: : TImage *CAPTURE = new TImage(NULL);
: : CAPTURE->Width = this->Width ;
: : CAPTURE->Height = this->Height ;
: : CAPTURE->Picture->Bitmap = NULL;
: :
: : BitBlt(CAPTURE->Canvas->Handle, 0, 0, this->Width, this->Height, hdHandle, 0, 0, SRCCOPY);
: :
: : sprintf( capstrr,"%s", TimeToStr(Time()));
: : for( i=0; i<20; i++)
: : {
: : if( capstrr[i]==':')
: : {
: : capstrr[i] = '_';
: : }
: : }
: : sprintf( strr, "%s\\%s\\CAPTURE\\%s_%s.jpg", g_strPathName, g_strModelName, DateToStr(Date()), capstrr );
: :
: : TJPEGImage *Hjpeg = new TJPEGImage();
: : try
: : {
: : Hjpeg->Assign(CAPTURE->Picture->Bitmap);
: : Hjpeg->SaveToFile(strr);
: : }
: : __finally
: : {
: : delete Hjpeg;
: : }
: : }
|