쓰레드로 이미지 반복그리고있는중인데요
팁에있는 설명으로 쓰레드돌리는데요 자꾸 꺼지네요
스레드 실행시키면 첨엔 계속 그리다가 마우스를 움직이거나 키보드누르면
그냥 꺼저버립니다
void __fastcall TForm1::BmpStart(TObject *Sender)
{
HWND h;
TResourceStream *ResStream1;
HINSTANCE ImageDllInstance;
Graphics::TBitmap *wa1;
wa1 =new Graphics::TBitmap;
ImageDllInstance = LoadLibrary("angle.exe"); //DLL에서 이미지들을 가지고 온다.
ResStream1 = new TResourceStream( (int)ImageDllInstance, "ID_800X600", RT_RCDATA );
h = FindWindow(NULL,"팡야 united");
wa1->LoadFromStream( dynamic_cast( ResStream1 ) );
HDC dc = GetDC(h);
do{
TransparentBlt(dc, 0,0, 800,600, wa1->Canvas->Handle,
0,0,800,600,RGB(255,255,255));
Application->ProcessMessages();
Sleep(3);
if(Form1->Caption != "사용중")
break;
}while(1);
delete ResStream1,wa1;
ReleaseDC(h,dc);
FreeLibrary(ImageDllInstance);
}
이것처럼 반복하게 되어있구요
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Button2->Enabled = false;
multi* bmp = new multi(&BmpStart, Sender);
bmp;
}
이렇게 실행 시켰거든요
근데 키보드 입력이나 마우스 입력이 들어오면 바로 동작이 멈춰버려요
쓰레드는 계속도는거같은데;
싱크로나이즈 함수를 써야하는 건가요?
어떻게해야 동작이 안멈추고 끌때까지 돌아갈가요;
김태선님의 "지정 함수를 쓰레드에 실어서 실행시키는 클래스"
글을보고 따라했거든요..
|