2010-10-11 30 views
2

Im écrit une grande application WPF (grande comme dans res d'écran), en cours d'exécution avec des contrôles de base, la lecture vidéo de base, etc ...WPF et DWM pour rediriger la sortie sur le réseau

je fait des recherches sur la façon de diffuser/rediriger la fenêtre WPF vers d'autres moniteurs sur un réseau local. Essentiellement, essayer de montrer une région sélectionnée de l'application WPF sur des écrans séparés en temps réel.

J'ai lu sur le DWM (avec lequel je n'ai aucune expérience) et il semble que l'API miniature serait un bon moyen de le faire. Juste des segments de diffusion (disons 9, 300x300 segments) sur le réseau via une sorte de diffusion en réseau multi-cast, que les PC clients écoutent et rendent ...

Est-ce que cela peut être fait? Comment pourrait-on faire quelque chose comme ça?

EDIT

Je fais un peu plus de lecture sur le DWM, et il ne semble probable que cela peut être réalisé, lien this explique que:

Vous pouvez avoir un rendu distribué d'une scène 3D et l'avoir en cours d'exécution avec accélération matérielle complète sur tout nombre de machines clientes.Cette architecture permet au DWM de fournir de première classe de soutien pour Bureau à distance scénarios

Je ne sais pas par où commencer à regarder dans ce genre de développement ... une idée? Pouvez-vous le faire en utilisant l'API miniature DWM?

Répondre

1

probablement pas, l'API miniature est très limitée et ne vous donne pas accès à l'image réelle.

Est-ce que cela peut être fait en général? Oui, il y a beaucoup de programmes qui transfèrent des captures d'écran sur un réseau (comme Remote Desktop et VNC).

Mais est-ce le meilleur moyen de le faire?

Vous avez besoin d'un programme pour diffuser les images d'écran et un autre programme pour le dessiner - alors pourquoi ne diffusez-vous pas les données sous-jacentes et ne visualisez-vous pas du côté client?

+0

Une sorte de transfert de données (tel que WCF) avec rendu local semble être une bonne approche du problème. Fondamentalement, chacun des PC écran séparés agirait comme un client pour l'interaction avec l'hôte, ce qui vous donne une flexibilité supplémentaire, comme par exemple transformer les moniteurs latéraux simples en panneaux tactiles pour un contrôle supplémentaire. –

+0

Il n'y a pas besoin d'interaction, mais il y aura un très grand nombre d'écrans clients ... J'en ai besoin pour fonctionner correctement et être flexible. Donc, je pense simplement à un modèle client/serveur où le serveur diffuse le tampon de trame entier du réseau (peut-être que VNC ou RDP fonctionnerait bien), alors le client ne restitue qu'un certain segment de ce visuel. Son plus d'une configuration de tableau multi-moniteur massive, donc je ne vois pas vraiment comment le faire simplement la diffusion des données sous-jacentes – Mark

+0

Aussi, que voulez-vous dire par "l'API miniature est très limitée et ne vous donne pas accès à l'image réelle "? À quoi cela vous donne-t-il accès? – Mark