3D3设备和RDP窗口的远程桌面行为最小化

时间:2016-04-06 11:26:27

标签: wpf directx remote-desktop rdp d3dimage

在我们的C#WPF中,我们使用显示地图的第三方(非托管)库 我们使用System.Windows.Interop.D3DImage类 第三方库使用Direct3D作为IntPtr32表面位置属性。

当我从另一台计算机打开远程桌面并尝试查看WPF客户端时,我们会看到该地图 一旦WPF UI客户端启动,我最小化RDP会话或关闭RDP,我将获得异常:

Direct3D device is lost

根据我对视频流应用程序的体验,当窗口最小化时,它会停止渲染图像以保存bandwitdh。
我猜rdp表现一样吗?它可以配置吗?即使窗口最小化,我希望继续流式传输。

我知道有additional settings in the .RDP file as mentioned here.
directx设置为:redirectdirectx:i:1

到目前为止的部分答案:
当RDP客户端应用程序连接到RDP服务时,当显示窗口时,它是GUI模式,当它被最小化时,它是GUI-LESS模式,并且Direct 3D组件真的丢失了。为了在最小化期间​​使它们保持活动状态,必须打开注册表项(RemoteDesktop_SuppressWhenMinimized

1 个答案:

答案 0 :(得分:2)

从此页面:http://www.networkautomation.com/urc/knowledgebase/running-interactive-tasks-in-minimized-remote-desktop-windows/4ecdf43e03470/

  

对1个特定用户使用此密钥(对所有用户使用HKLM):

     

HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \ RemoteDesktop_SuppressWhenMinimized

     

type = DWORD

     

值:

     

0 = SUPPRESS_WHEN_MINIMIZED_AUTO

     

1 = SUPPRESS_WHEN_MINIMIZED_ENABLE

     

2 = SUPPRESS_WHEN_MINIMIZED_DISABLED