在wine(linux)下运行的windows应用程序的屏幕截图

在wine(linux)下运行的windows应用程序的屏幕截图,linux,Linux,正如标题所说,我想拍摄一个在wine下运行的窗口应用程序的屏幕截图。不是整个桌面。最好使用C语言,但也可以使用java或Pascal 提前感谢使用imagemagick的导入命令抓取窗口并将其转储到文件中 用C系统命令包装调用 system("import -window (your window name) capture.png"). 然后,您可以使用任何标准映像加载库从文件中访问映像。Linux shell的一种可能方法: 使用xwininfo查找我们要查找的窗口id 使用导入转储

正如标题所说,我想拍摄一个在wine下运行的窗口应用程序的屏幕截图。不是整个桌面。最好使用C语言,但也可以使用java或Pascal


提前感谢

使用imagemagick的导入命令抓取窗口并将其转储到文件中

用C系统命令包装调用

 system("import -window (your window name) capture.png").

然后,您可以使用任何标准映像加载库从文件中访问映像。

Linux shell的一种可能方法:

  • 使用xwininfo查找我们要查找的窗口id
  • 使用导入转储屏幕截图
  • (有关更多信息,请阅读man导入和man xwininfo)
以葡萄酒为例:

import -window `xwininfo -root -children | grep "Wine" | awk '{print $1}'` outfile.pcx

您可以使用MagickWand(C API)或Magick++(C++API)复制ImageMagick的import命令的功能,但是如果您不介意将import与软件一起分发,那么按照justinhj的建议,通过system()直接调用import可能是最简单的方法