从XP中隐藏或剪切的窗口复制内容?

前端之家收集整理的这篇文章主要介绍了从XP中隐藏或剪切的窗口复制内容?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要将一个隐藏的窗口(BitBlt)的内容复制到另一个窗口.问题是,一旦我隐藏源窗口,我得到的设备上下文就不再画了.
您需要的是从 Windows XP起可在Win32 API中使用的 PrintWindow功能.如果您需要使用旧版本的Windows,则可以尝试使用 WM_PRINT,尽管我从来没有能够使其工作.

有一篇很好的文章here显示了如何使用PrintWindow,这里是该文章的相关代码片段:

// Takes a snapshot of the window hwnd,stored in the memory device context hdcMem
HDC hdc = GetWindowDC(hwnd);
if (hdc)
{
    HDC hdcMem = CreateCompatibleDC(hdc);
    if (hdcMem)
    {
        RECT rc;
        GetWindowRect(hwnd,&rc);

        HBITMAP hbitmap = CreateCompatibleBitmap(hdc,RECTWIDTH(rc),RECTHEIGHT(rc));
        if (hbitmap)
        {
            SelectObject(hdcMem,hbitmap);

            PrintWindow(hwnd,hdcMem,0);

            DeleteObject(hbitmap);
        }
        DeleteObject(hdcMem);
    }
    ReleaseDC(hwnd,hdc);
}

我应该有一些使用wxPython的Python代码来实现同样的事情.如果你想要的话,给我留言

猜你在找的Windows相关文章