exefile := 'C:winntnotepad.EXE';
WINEXEC(PCHAR(exefile),SW_HIDE);
wnd := FindWindow('notepad',nil ); // 노드패드에 핸들 구하기
Windows.SetParent(wnd, Form1.Handle); // 실행프로그램의 부모를
현재폼으로 설정
SetWindowPos(wnd,HWND_TOPMOST,0, 0, clientwidth,
clientheight, SWP_NOZORDER or SWP_SHOWWINDOW );
위와 같이 폼위에 Notepad를 얻었습니다.
그런데 NotePad의 부분만 캡쳐 하려면 어떻게 하면 되는지 궁금합니다.
※ 아래와 같이Form1의 Canvas를 이용했더니,
Notepad위에 어떤 프로그래램이 올라오니까
가려진 Notepad의 일부만 이미지되더라구요.
방법좀 부탁드립니다.
TempBmp := TBitmap.Create; // BMP를 저장할 bitmap 생성
TempBmp.Width := Form1.Width;
TempBmp.Height := form1.Height;
TempRect := Rect(Form1.Left, Form1.Top, Form1.width,
Form1.Height);
FormDC := GetWindowDC(Form1.Handle);
FormCanvas := TCanvas.Create;
FormCanvas.Handle := FormDC; // 전체 Form1의 canvas를 얻습니다
TempBmp.Canvas.CopyRect(TempRect, FormCanvas, TempRect);
Image1.Picture.Bitmap.Assign(TempBmp);