|
화면 이미지 캡쳐 할때 뜨는 것 같습니다.
매번 뜨는 건 아니고요 어쩌다가 한번씩 뜨는데 그게 왜 그러는지 알려 주실수 있나요?
메모리 해제는 다해놨습니다.
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;
}
}
|