WPF 및 GDI를 처음 사용하고 이미지 표시에 문제가 있습니다. 내 궁극적 인 목표는 노출과 같은 것을 구축하는 것입니다. 지금까지, 나는 화면을 회색으로 표시하고 모든 활성 HWND를 모으고 모든 창을 캡처했습니다. 지금은 원본을 설정하려고하는 단일 이미지 요소가 있지만 아무 것도 나타나지 않습니다.WPF 이미지가 BitmapSource를 표시하지 않습니다.
foreach (IntPtr hwnd in hwndlist)
{
IntPtr windowhdc = GetDC((IntPtr) hwnd);
IntPtr bmap = CreateBitmap(400, 400, 1, 32, null);
IntPtr bitmaphdc = GetDC(bmap);
BitBlt(bitmaphdc, 0, 0, System.Convert.ToInt32(this.Width), System.Convert.ToInt32(this.Height), windowhdc, 0, 0, TernaryRasterOperations.SRCCOPY);
ReleaseDC(hwnd, windowhdc);
BitmapSource bmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bmap, IntPtr.Zero, Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
image1.Source = bmapSource;
image1.BeginInit();
}
전체 코드는 여기에 있습니다 :
http://pastebin.com/m70af590 - 코드
http://pastebin.com/m38966750 - XAML 내가 지금 내가 할 노력하고있어 훨씬 이해가되지 않습니다있는 방법을 알고
(루프를 실행하고 같은 이미지를 반복해서 쓰는 것).하지만 그 이미지는 결국 끝나기를 바라고 있습니다.
보이는 창에서 HWND를 하드 코딩하려고 시도했지만 여전히 작동하지 않습니다.
도움 주셔서 감사합니다.