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

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

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

  1. // Takes a snapshot of the window hwnd,stored in the memory device context hdcMem
  2. HDC hdc = GetWindowDC(hwnd);
  3. if (hdc)
  4. {
  5. HDC hdcMem = CreateCompatibleDC(hdc);
  6. if (hdcMem)
  7. {
  8. RECT rc;
  9. GetWindowRect(hwnd,&rc);
  10.  
  11. HBITMAP hbitmap = CreateCompatibleBitmap(hdc,RECTWIDTH(rc),RECTHEIGHT(rc));
  12. if (hbitmap)
  13. {
  14. SelectObject(hdcMem,hbitmap);
  15.  
  16. PrintWindow(hwnd,hdcMem,0);
  17.  
  18. DeleteObject(hbitmap);
  19. }
  20. DeleteObject(hdcMem);
  21. }
  22. ReleaseDC(hwnd,hdc);
  23. }

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

猜你在找的Windows相关文章