如何从Win32 API中的屏幕捕获中排除某些窗口?

时间:2014-09-04 12:02:57

标签: c++ winapi

我想捕获桌面并排除我的应用程序被捕获的窗口。

我的窗口创建如下:

m_hWnd = CreateWindowEx(WS_EX_CLIENTEDGE | WS_EX_LAYERED,
                        g_lpszClassName, NULL, WS_THICKFRAME,
                        CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL,
                        _WPModule.GetHInstance(), NULL);

我按如下方式捕捉屏幕:

HWND    hWndCapture     = ::GetDesktopWindow();
HDC     hdcScreen       = ::GetDC(hWndCapture);
HDC     hdcMem          = ::CreateCompatibleDC(hdcScreen);

::BitBlt(
    hdcMem,
    0,
    0,
    Width, //width of region of interest
    Height, //height of region of interest
    hdcScreen,
    X, //left staring point for capture
    Y, //top staring point for capture
    SRCCOPY);

我找到了以下链接Excluding certain windows from screen capture,但它没有为I.E 8及以后提供解决方案。我没有找到针对此问题发布的任何其他解决方案。

0 个答案:

没有答案