Com 从ASP.Net页面获取屏幕截图

Com 从ASP.Net页面获取屏幕截图,com,web,activex,screenshot,Com,Web,Activex,Screenshot,我有一个ASP.Net页面,页面上有一个按钮,单击该按钮时,我希望拍摄用户PC的屏幕截图并将其发送到服务器 我可以编写一些在服务器上运行的侦听程序来接受接收这些图像的请求。我有点模糊的地方是让用户的PC发送屏幕截图的最好方法。是否需要为ASP.Net页面编写某种类型的活动X控件来实现这一点?如果可能,它需要跨浏览器和操作系统 只要在正确的方向上有一点,我应该使用什么样的技术就好了。如果可能的话,我宁愿自己编写这个功能,也不愿使用开箱即用的解决方案,因为我可以看到这个功能将来可能会扩展。像WebE

我有一个ASP.Net页面,页面上有一个按钮,单击该按钮时,我希望拍摄用户PC的屏幕截图并将其发送到服务器

我可以编写一些在服务器上运行的侦听程序来接受接收这些图像的请求。我有点模糊的地方是让用户的PC发送屏幕截图的最好方法。是否需要为ASP.Net页面编写某种类型的活动X控件来实现这一点?如果可能,它需要跨浏览器和操作系统

只要在正确的方向上有一点,我应该使用什么样的技术就好了。如果可能的话,我宁愿自己编写这个功能,也不愿使用开箱即用的解决方案,因为我可以看到这个功能将来可能会扩展。像WebEx或副驾驶这样的东西是如何管理的

谢谢

加文


编辑:为了明确我不是想从用户的PC上窃取信息,他们必须允许此功能,这更多是从支持的角度来看的,因此当客户端出现问题时,他们可以发送他们所在页面的屏幕截图。

如果需要跨浏览器和其他方式,你应该看看Java(小程序)。这听起来可能很过时,但我认为这是你最好的选择。ActiveX仅适用于windows/IE;)


对于初学者,请看一看这个问题,这个问题非常类似:

ActiveX可以工作。我怀疑您也可以在Silverlight、Flash或Java小程序中执行某些操作(这将更便于跨浏览器)


至于copilot,它运行在一个独立的可执行文件中,每个用户下载并运行该文件。因此,它并不局限于典型的浏览器限制。

它只是你想要抓拍的网页


然后,您可以从javascript文档对象访问呈现html的整个页面,并将其与浏览器类型等一起发送到web服务。无需安装ActiveX:-)

我使用WebsitesScreenshot组件捕获网站屏幕截图或缩略图。 这个.NET组件非常容易使用。我喜欢这个组件。

示例代码:

WebsitesScreenshot.WebsitesScreenshot _Obj;
_Obj = new WebsitesScreenshot.WebsitesScreenshot();

WebsitesScreenshot.WebsitesScreenshot.Result _Result;
_Result = _Obj.CaptureWebpage("http://www.msn.com");

if (_Result == WebsitesScreenshot.WebsitesScreenshot.Result.Captured)
{
    _Obj.ImageWidth = 200;
    _Obj.ImageHeight = 300;
    _Obj.ImageFormat = WebsitesScreenshot.WebsitesScreenshot.ImageFormats.PNG;
    _Obj.SaveImage("c:\\msn.png");
}
_Obj.Dispose();

如果我是用Java编写的,我想我仍然可以打开一个TCP连接到服务器上运行的c#程序,并以这种方式将图像发送给它?为什么不直接将二进制包发送到服务器上?我不知道这是可能的,但如果是的话,这听起来是理想的解决方案。不过,网页呈现的HTML与屏幕截图不同。