无需拍摄屏幕即可获取任何窗口的图像?

时间:2011-01-21 00:19:41

标签: c# winapi screenshot

我正在寻找一种方法来获取流程主窗口的图片,而无需获取整个桌面的屏幕截图。我希望能够得到最小化窗户和遮盖窗户的照片。理想情况下,我希望将此图像作为Bitmap对象进行后续操作。

我已经可以使用System.Diagnostics.Process获取主窗口的hwnd,在哪里可以使用该hwnd来获取窗口的图像?我确实需要使用WinAPI,我只是不知道在哪里。

1 个答案:

答案 0 :(得分:3)

创建内存DC。 将该内存DC的句柄发送到主窗口的hWnd,发送到窗口的PRINT消息。

  • http://www.pinvoke.net
    探索WINAPI并找出如何调用不同方法的好方法。
  • http://www.codeguru.com/Csharp/Csharp/cs_graphics/drawing/article.php/c6137
    本文介绍如何使用pinvoke创建内存DC。