2016-04-06 2 views
2

Dans notre WPF C#, nous utilisons une bibliothèque tierce (non gérée) qui affiche une carte. Nous utilisons la classe System.Windows.Interop.D3DImage.
La bibliothèque tierce utilise Direct3D pour la propriété d'emplacement de surface IntPtr32.Comportement de bureau à distance avec 3D3 Device et fenêtre RDP minimal

Lorsque j'ouvre un poste de travail distant à partir d'un autre ordinateur et que j'essaie d'afficher le client WPF, nous voyons la carte.
Une fois que le client UI WPF est, et je minimiser la session RDP ou fermer le RDP i obtiendrai exception:

Direct3D device is lost 

De mon expérience avec des applications de streaming vidéo, quand une fenêtre est réduite au minimum, il est arrêter le rendu l'image afin de sauver bandwitdh.
Je suppose que rdp agit pareil? Est-ce configurable? Je souhaite continuer à diffuser même si la fenêtre est réduite au minimum.

Je sais qu'il ya additional settings in the .RDP file as mentioned here.
Le directx est réglé sur: redirectdirectx: i: 1

réponse partielle à ce jour:
Lorsque l'application client RDP se connecte au service RDP, lorsque la fenêtre est montré, c'est le mode GUI, quand il est minimisé, c'est le mode GUI-LESS, et les composants Direct 3D sont vraiment perdus. afin de les maintenir en vie pendant minimiser, une clé de Registre doit être activée (RemoteDesktop_SuppressWhenMinimized)

+0

Quel système d'exploitation que vous utilisez pour le serveur/client? – cdavid

Répondre

2

A partir de cette page: http://www.networkautomation.com/urc/knowledgebase/running-interactive-tasks-in-minimized-remote-desktop-windows/4ecdf43e03470/

Utilisez cette clé pour 1 utilisateur particulier (utilisation HKLM pour tous les utilisateurs):

HKEY_CURRENT_USER \ Software \ client Microsoft \ Terminal Server \ RemoteDesktop_SuppressWhenMinimized

type = DWORD

valeurs:

0 = SUPPRESS_WHEN_MINIMIZED_AUTO

1 = SUPPRESS_WHEN_MINIMIZED_ENABLE

2 = SUPPRESS_WHEN_MINIMIZED_DISABLED