C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[6462] (백그라운드 캡춰에서)구조요청!제발!
조경달 [] 2072 읽음    2001-03-30 17:25
백그라운드에서 계속해서 화면을 캡춰하는 놈인데
잘 돌다가도 마우스를 마구 움직이면 시스템시소스가 없다나요...
아무리 보아도 로직에러는 없습니다.

고수님들의 도움을 기다립니다.



//---------------------------------------------------------------------------

#include <vcl.h>
#include <jpeg.hpp>

#pragma hdrstop

#include "cap.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
class TCaptureThread : public TThread
{
public:
    void __fastcall Execute(void);
        __fastcall  TCaptureThread(void):TThread(true)
        {};
};

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}

void __fastcall TCaptureThread::Execute(void)
{
int status;
TRect rect,rect2,FullRect;
  int lx,ly,sx,sy,dif;
  TMemoryStream *tms=new TMemoryStream;
  static int initialized =false;
  Graphics::TBitmap *Bitmap;

  Bitmap=  new Graphics::TBitmap;

HDC dc = GetDC(0);
Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas;
  ScreenCanvas->Handle=dc;

  TJPEGImage *jp = new TJPEGImage();


while(1){
  Bitmap->Height=Screen->Height;
  Bitmap->Width=Screen->Width;
  Form1->Memo1->Lines->Add("!");
  rect = Rect(0,0,Screen->Width,Screen->Height);

  sx=sy=0;
  lx=Screen->Width;
  ly=Screen->Height;

  rect = Rect(0,0,lx-sx,ly-sy);
  rect2 = Rect(sx,sy,lx,ly);
  Bitmap->Canvas->CopyRect(rect,ScreenCanvas,rect2);
  ////////////////////////////////////////////
  /////PART SCREEN Update
  tms->Position=0;
    jp->Assign(Bitmap);
    jp->SaveToStream(tms);
//  DataSize = tms->Position;

}//while
  Form1->Memo1->Lines->Add("Cap thread end!");
  delete Bitmap;
  delete ScreenCanvas;
  delete jp;

  ReleaseDC(NULL,dc);

}

//---------------------------------------------------------------------------


void __fastcall TForm1::FormCreate(TObject *Sender)
{
TCaptureThread * captureThread = new  TCaptureThread;
captureThread->Priority = tpNormal; // set the priority lower than normal
captureThread->Resume(); // now run the thread
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
6462 (백그라운드 캡춰에서)구조요청!제발! 조경달 2072 2001/03/30
6475     Re:(백그라운드 캡춰에서)구조요청!제발! 한꼬맹이 2306 2001/03/30
6488         마찬가지입니다. 다시 구조요청!!! 조경달 2199 2001/03/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.