屏幕捕获程序(WPF 4)

时间:2012-10-08 05:56:01

标签: wpf screen capture

我对屏幕捕获程序有疑问。我有一个WPF 4应用程序,需要能够读取位于同一网络上另一台计算机上的屏幕并查找其中的更改。我以前从来没有这么做过,所以我希望有人可以给我一些指示,或指出我正确的方向。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要检测任何变化吗? 你可以使用几乎没有变化的钩子;

http://msdn.microsoft.com/en-us/library/ms644991%28VS.85%29.aspx(ShellProc回调函数)

如果某些窗口被重新绘制,它会通知您是否移动了某个窗口。我不确定它对你有多大用处,但你可以看一下。

还有更多方法:How to detect when window content has changed

如果您只需要内容已更改的信息,则可以在“另一台计算机”上进行处理。

1)设置套接字连接

2)互相沟通

3)现在,实际代码应该在Win32(C ++)中完成,以获得最佳性能。但是你可以用C#来做。只需谷歌在C#中进行快照,你就应该找到一些东西。

4)要实际进行比较,有很多方法。一种方法是逐像素地与最后一张图片进行比较。将图像拆分为COMPUTER_PROCESSORS-1个线程并比较像素。

或者,您可以运行使用GPU着色器,这可能使其比CPU方法更快。