用于通过网络重定向输出的 WPF 和 DWM
我正在编写一个大型 WPF 应用程序(与屏幕分辨率一样大),运行一些基本控件、基本视频播放等...
我一直在研究如何通过本地网络将 WPF 窗口广播/重定向到其他监视器。本质上,尝试在单独的监视器上实时显示 WPF 应用程序的选定区域。
我一直在阅读有关 DWM 的内容(我对此没有任何经验),似乎缩略图 API 是实现此目的的好方法。只需通过某种多播网络广播在网络上广播片段(例如 9 个、300x300 片段),客户端 PC 就会监听并呈现...
这可以做到吗?一个人会如何去做这样的一件事呢?
编辑
我一直在阅读有关 DWM 的更多内容,这似乎确实可以实现,此 链接解释说:
您可以进行分布式渲染 3D 场景并让它运行 任何设备上的完整硬件加速 客户端机器的数量。这 架构允许 DWM 提供 对远程桌面的一流支持 场景
我只是不知道从哪里开始研究这种开发......有什么想法吗
Im writing a large WPF app (large as in screen res), running with some basic controls, basic video playing, etc...
I have been researching how to broadcast/redirect the WPF window to other monitors over a local network. In essence, trying to show a select region of the WPF app on seperate monitors in real time.
I have been reading about the DWM (which I have no experience with) and it seems that the thumbnail API would be a good way to do this. Just broadcast segments (say 9, 300x300 segments) over the network via some sort of multi-cast network broadcast, that client PC's listen for and render...
Can this be done? How would one go about doing something like this?
EDIT
I have been doing some more reading on the DWM, and it does seem likely that this can be achieved, this link explains that:
You can have a distributed rendering
of a 3D scene and have it running with
full hardware acceleration on any
number of client machines.This
architecture allows the DWM to provide
first-class support for Remote Desktop
scenarios
I just dont know where to start looking into this kind of development... any idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 DWM 缩略图 API 来完成此操作吗?可能不会,缩略图 API 非常有限,无法让您访问实际图像。
一般情况下可以这样做吗?是的,有很多程序可以通过网络传输屏幕截图(例如远程桌面和 VNC)。
但这是最好的方法吗?
您需要一个程序来广播屏幕图像,另一个程序来绘制它 - 那么为什么不广播底层数据并在客户端进行可视化呢?
Can you do this using the DWM thumbnail API? probably not, the thumbnail API is very limited and doesn't give you access to the actual image.
Can this be done in general? Yes, there are a lot of programs that transfer screen captures over a network (like Remote Desktop and VNC).
But is this the best way to do this?
You need a program to broadcast the screen images and another program to draw it - so why don't you broadcast the underlying data and do the visualization on the client side?