5

我有一个 ASP.Net 页面,该页面有一个按钮,当单击该按钮时,我想截取用户 PC 的屏幕截图并将其发送到服务器。

我可以编写某种侦听器程序以在服务器上运行以接受接收这些图像的请求。我有点朦胧的地方是让用户的PC发送屏幕截图的最佳方式。这需要通过为 ASP.Net 页面编写某种 Active X 控件来完成吗?如果可能,它需要跨浏览器和操作系统。

只是在正确方向上的一点,我应该使用哪些技术会很棒。如果可能的话,我宁愿自己编写此功能,也不愿使用开箱即用的解决方案,因为我可以看到将来可能会扩展此功能。WebEx 或 copilot 之类的东西如何管理这个?

谢谢

加文

编辑:为了清楚起见,我不是试图从用户 PC 窃取信息,他们必须允许此功能,更多的是从支持的角度来看,因此当客户遇到问题时,他们可以发送页面的屏幕截图他们在。

4

4 回答 4

4

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

对于初学者,看看这个非常相似的问题:有没有办法使用 Java 截取屏幕截图并将其保存到某种图像?

于 2009-03-10T08:23:05.190 回答
3

ActiveX 可以工作。我怀疑您也可以在 Silverlight、Flash 或 Java 小程序中做一些事情(这将更适合跨浏览器)。

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

于 2009-03-10T08:23:44.673 回答
1

它只是您想要快照的网页吗?

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

于 2009-03-10T08:29:15.610 回答
1

我使用 WebsitesScreenshot 组件来捕获网站截图或缩略图。这个 .NET 组件非常易于使用。我喜欢这个组件。 http://www.websitesscreenshot.com/

示例代码:

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();
于 2010-07-21T12:16:08.750 回答