【发布时间】:2011-04-29 20:51:01
【问题描述】:
即使用户不活动,VNC 如何向窗口发送 REPAINT 消息?
我想在 C 语言中实现这一点 - 我看过 PrintWindow、SendMessage 方法,但它们都没有实现与 VNC 相同的功能(通过捕获图像及其黑色进行测试),但使用VNC 我得到了全貌。
他们使用什么技术来做到这一点,并且可以在 C sharp 中实现这一点,以使窗口在用户不活动时(即 RDP 已关闭、最小化或类似)总是重新绘制 即使。
谢谢大家
【问题讨论】:
-
我不明白你为什么认为
PrintWindow失败了。我理解你的问题的方式,应该完全符合你的要求。当您将 VNC 描述为“不断重绘窗口”时,我不太确定您的意思。 -
@Cody - 在我尝试之前我也是这么想的
PrintWindow(handle, hDC, 0);- 当我最小化与 Windows XP 机器的 RDP 连接时,它无法捕获图像。它在 RDP 未最小化时起作用。我以为我可以从内存中捕获窗口图像,但它产生的只是一个内部黑色的窗口。我尝试了不同类型的窗口(记事本、计算)。然后我安装了 VNC 并关闭了 VNC 查看器,它每次都能正常工作。即使用户处于非活动状态,它也有一些如何让窗口呈现。
标签: c# windows remote-desktop vnc vnc-server