2

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

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

Direct3D device is lost

根据我对视频流应用程序的经验,当窗口最小化时,它会停止渲染图像以节省带宽。
我猜 rdp 的行为是一样的吗?是否可配置?即使窗口最小化,我也希望继续流式传输。

我知道这里提到的 .RDP 文件中有其他设置。
directx 设置为:redirectdirectx:i:1

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

4

1 回答 1

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

类型 = DWORD

价值观:

0 = SUPPRESS_WHEN_MINIMIZED_AUTO

1 = SUPPRESS_WHEN_MINIMIZED_ENABLE

2 = SUPPRESS_WHEN_MINIMIZED_DISABLED

于 2016-04-06T18:21:23.033 回答