c++ - 屏幕截图特定窗口

标签 c++ windows winapi gdi

是否可以截屏特定窗口(也可能是另一个进程)?

目前我正在捕获特定显示器的整个桌面,但我真正想要的是捕获特定窗口的内容(无论其位置如何)。

最佳答案

是的。您所需要的只是获取要捕获和使用 WinAPI 函数 PrintWindow 的窗口的句柄,例如:

// Get the window handle of calculator application.
HWND hWnd = ::FindWindow( 0, _T( "Calculator" ));

// Take screenshot.
PrintWindow( hWnd, getDC(hWnd), 0 );

Here你有 PrintWindow 文档。

关于c++ - 屏幕截图特定窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11283015/

相关文章:

java - 有没有办法在 Mac 中以 headless 方式运行 GUI 应用程序?

C++优化内存读取速度

windows - TortoiseGit 错误 : "Remote name must not be empty"

c++ - 不退出怎么处理空指针?

c++ - 多重继承 : calling all the overriden functions

c++ - 将数字添加到 ListView

c - 从c中的其他文件打开文件路径

windows - 在本地设置 SVN?

c++ - 如何实现从 Windows 脚本宿主到脚本的事件调度

c++ - 在所有者绘制的列表框中禁用滚动条