加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 04:33:37 所属栏目:Windows 来源:网络整理
导读:我需要将一个隐藏的窗口(BitBlt)的内容复制到另一个窗口.问题是,一旦我隐藏源窗口,我得到的设备上下文就不再画了. 您需要的是从 Windows XP起可在Win32 API中使用的 PrintWindow功能.如果您需要使用旧版本的Windows,则可以尝试使用 WM_PRINT,尽管我从来没有
我需要将一个隐藏的窗口(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代码来实现同样的事情.如果你想要的话,给我留言

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读