Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在不拍摄屏幕快照的情况下获取任何窗口的图像?_C#_Winapi_Screenshot - Fatal编程技术网

C# 在不拍摄屏幕快照的情况下获取任何窗口的图像?

C# 在不拍摄屏幕快照的情况下获取任何窗口的图像?,c#,winapi,screenshot,C#,Winapi,Screenshot,我正在寻找一种方法,可以在不获取整个桌面截图的情况下获取进程主窗口的图片。我想能够得到最小化窗口和覆盖窗口的图片。理想情况下,我希望将此图像作为位图对象进行后期处理 我已经可以使用System.Diagnostics.Process获取主窗口的hwnd,在哪里可以使用该hwnd获取窗口的图像?我确实希望需要使用WinAPI,我只是不知道在哪里。创建一个内存DC。 将该内存DC的句柄发送到主窗口的hWnd,以向窗口打印消息 http://www.pinvoke.net 探索WINAPI并找出如

我正在寻找一种方法,可以在不获取整个桌面截图的情况下获取进程主窗口的图片。我想能够得到最小化窗口和覆盖窗口的图片。理想情况下,我希望将此图像作为
位图
对象进行后期处理

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

创建一个内存DC。 将该内存DC的句柄发送到主窗口的hWnd,以向窗口打印消息

  • http://www.pinvoke.net
    探索WINAPI并找出如何调用不同方法的好方法。
  • http://www.codeguru.com/Csharp/Csharp/cs_graphics/drawing/article.php/c6137
    本文展示了如何使用pinvoke创建内存DC。
这可能会有帮助:完全相同。第二个答案告诉我们如何在没有截图的情况下完成它。Shekhar_Pro:g.CopyFromScreen(…)基本上是一个截图。这不是重复的,也不能回答我的问题。