应用程序屏幕捕获和渲染

发布于 2024-07-17 00:35:44 字数 594 浏览 11 评论 0原文

我正在尝试编写一个简单的应用程序,它将执行应用程序的屏幕捕获,然后在“主”应用程序(即捕获屏幕捕获的应用程序)中呈现该捕获。

我已经弄清楚如何获取窗口句柄并获取应用程序的屏幕捕获,但我在“主”应用程序中渲染捕获的屏幕时遇到问题。

使用 GDI,我有以下代码进行渲染:

Bitmap bit(hSrcbmp,hpal);
graphics.DrawImage(&bit,Gdiplus::PointF(0,0));

其中 hSrcbmp 是捕获的屏幕的位图,graphics 是 GDI+“图形”对象。

在构造函数调用 Bitmap 后出现以下错误: Gdiplus::Image = {nativeImage=0x00000000 lastResult=Win32Error loadStatus=-858993460 }

*使用 Visual Studio 2005

*Windows XP

*Visual C++(非托管)

有什么想法吗?

还有一个问题:还有什么更好的方法吗? C#、DirectX 还是 openGL? 谢谢

I'm trying to write a simple app that will do a screen capture of an application and then rendering that capture in the 'main' application (ie, the application that took the screen capture).

I've figured out how to get the window handle and get the application's screen capture, but I'm having trouble rendering the captured screen in the 'main' application.

Using GDI, I have the following code to render:

Bitmap bit(hSrcbmp,hpal);
graphics.DrawImage(&bit,Gdiplus::PointF(0,0));

where hSrcbmp is a bitmap of the captured screen and graphics is a GDI+ 'Graphics' object.

I get the following error after the constructor call to Bitmap:
Gdiplus::Image = {nativeImage=0x00000000 lastResult=Win32Error loadStatus=-858993460 }

*Using Visual Studio 2005

*Windows XP

*Visual C++ (non-managed)

Any ideas?

Another question: Any better approach? C# or DirectX or openGL?
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可是我不能没有你 2024-07-24 00:35:44

屏幕截图是 Win32 FAQ 18 年。
有关标准代码,请参阅 win32 组( MS 和其他)、C 和 C++

Screen capture is a Win32 FAQ for 18 years.
See on win32 group for standard code (MS and other), C and C++

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文