Is it possible to write screen recording software using Silverlight?
I intend to develop a screen recording software. Which is something similar to Microsoft's Live Meeting
Is it possible to write such App using Silverlight ?开发者_高级运维
P.S, the reason why I prefer is Silverlight is because of it's X-Platform support.
Silverlight itself does not support screen grabs, so to get it working you would have to go outside of the Silverlight's sandbox.
With Silverlight 4 you can call external automation object (COM) to get screen shot and pass it to the application. Downsides for this approach are: requires elevated trust, windows only and requires additional install step.
Silverlight 5 will have support for P/Invoke and that should make things a bit easier. But that still leaves Mac out of the picture. In general I would say it is not worth doing it in Silverlight. Consider using .net + moonlight if portability is important to you.
I don't know if the performance would be sufficiently good, but there is a CopyFromScreen method that will allow you to take screenshots from a given window. If you took screen shots at a sufficient frame rate you could stream them to the client.
See http://www.dotnetcurry.com/ShowArticle.aspx?ID=303 for an example of how to capture the screenshots.
My understanding is bitmap sampling is a standard approach for this type of software.
精彩评论