Q&A

  • 화면 캡처를 팁에서 보고 따라해 보았는데 안되네요..
팁에 보면 다음 화면캡처 방법을 제시하고 있습니다.

procedure ScreenShot(DestBitmap : TBitmap);
var
  DC : HDC;
begin
  DC := GetDC (GetDesktopWindow);
  try
*  DestBitmap.Width := GetDeviceCaps (DC, HORZRES);
   DestBitmap.Height := GetDeviceCaps (DC, VERTRES);
   BitBlt(DestBitmap.Canvas.Handle, 0, 0, DestBitmap.Width,
          DestBitmap.Height, DC, 0, 0, SRCCOPY);
  finally
   ReleaseDC(GetDesktopWindow, DC);
  end;
end;

그런데 *표시 해둔 줄에서 다음 에러가 납니다.

project project1.exe raised exception class EExternalException with message 'External exception C000001D', Process stopped. Use Step or Run to continue

인자로는 저 프로시저를 내부에 포함하는 프로시저에서 선언한 Capture: TBitMap 을 썼는데요.

어떻게 해야 할까요?




그리고 혹시 API로 IP를 얻어내는 방법이 있나요?
1  COMMENTS
  • Profile
    오익환 2004.08.23 20:06
    ScreenShot에는 문제가 없구
    Call할때 넘겨준 DestBitmap에 문제가 있는 듯 한데요.....