Windows应用程序的捕获屏幕

时间:2013-04-08 15:38:43

标签: windows-runtime winrt-xaml

是否可以捕获正在运行的Windows应用商店应用的内容?我需要捕获整个屏幕或用户定义的矩形区域。

  1. 该应用程序将提供共享选项
  2. 当应用程序运行并且选择了共享选项时,我希望定期屏幕截图一次说4次
  3. 此屏幕截图将发布到服务器,该服务器将存储相同的

3 个答案:

答案 0 :(得分:7)

现在可以在Windows 8.1中捕获商店应用程序的屏幕。您需要使用 RenderTargetBitmap 类。

你可以在这里找到一个例子: http://mariusbancila.ro/blog/2013/11/05/render-the-screen-of-a-windows-store-app-to-a-bitmap-in-windows-8-1/

希望它有所帮助。

答案 1 :(得分:4)

您无法以编程方式捕获屏幕。请参阅MSDN中的以下主题。

Programmatically take snap shot Windows RT.

How to capture screen in Metro app?

答案 2 :(得分:1)

没有内置机制将Windows 8 XAML UI呈现到Windows 8.0中的位图。根据您的UI的复杂程度,您可以实现自己的合成引擎,使用Direct2D将UI呈现为位图,或使用WinRT XAML Toolkit WriteableBitmap.Render()方法实现,这种方法对您所做的事情提供的支持有限(它没有' t渲染所有类型的控件,不支持RenderTransform等)。您可以更新它,以添加对缺少的功能的支持。

Windows 8.1 API包含新的'RenderTargetBitmap'类,允许使用RenderAsync方法呈现位图。