2

是否可以从 Internet Explorer 中访问硬件设备(网络摄像头、磁卡读卡器等)?

如果是,使用了哪些技术?是否有任何.Net 示例。

就我而言,我需要访问将连接到客户端计算机的磁卡读卡器。Web 应用程序需要能够访问读卡器并获取卡信息,然后这些信息将用于访问服务器上运行的数据库中的数据表。

我见过集成到网站中的网络摄像头,想知道这是怎么做到的?因为如果可以访问网络摄像头,那么连接到 USB 端口的任何其他设备也应该如此。

最后,SilverLight 应用程序可以访问硬件吗?他们可以打印到附加的打印机吗?

4

6 回答 6

4

自定义 ActiveX 控件可能是您最好的选择

于 2009-02-02T20:30:08.147 回答
2

您可以尝试使用FullTrust WPF-Browser应用程序 xbap。您需要使用 ssl 证书,但如果这些证书安装在客户端计算机和服务器上,您可以使用浏览器中的硬件。

当您在本地计算机上托管 xbap 时,您不需要证书,因此您可以对其进行测试。测试部署时,您可以从 Visual Studio 创建证书并将其安装在服务器上,然后让用户下载并安装它们。

访问硬件的另一种方法是将应用程序注册到 URL 协议。并与之交流。这样你就可以像写 HTML

 <A href="MyScanReader://ReadTheScanNo?12345">Scan</A>

让该应用程序通过调用 url 将数据发送到服务器。我们曾经用它从浏览器中启动应用程序。

于 2009-02-03T12:10:56.127 回答
1

如果您需要硬件访问权限,那么 Web 应用程序是一个糟糕的选择。您必须在客户端安装一些具有足够权限才能访问设备的东西,因此您最好编写一个只与服务器对话的成熟客户端应用程序。

是的,您可以编写一个以完全权限运行并以某种方式将数据传递到页面的浏览器插件。但是你仍然必须确保它安装在每台客户端机器上,现在你有两个非常不同的代码库需要维护。除非插件和/或网络应用程序仅在某些方面有用(插件充当通用输入驱动程序,或者应用程序仍然可以在不使用插件的情况下接受输入),你最终只会让你自己和你的用户的生活变得更加困难。

正如gregmac 所提到的,您甚至可能实际上不需要直接的硬件访问。先看看那个...

于 2009-02-02T20:36:20.380 回答
1

您可以使用 flash访问网络摄像头。我从未使用过磁卡阅读器,但大多数条码阅读器只是显示为键盘,并且由于它是一种类似的技术,因此也可以以这种方式配置读卡器。

我之前写过一个使用条形码阅读器的网络应用程序,当你专注于某些领域时,你只需简单地扫描它。Javascript 有助于处理,因此它捕获在数据末尾发送的 Enter 按键等。

当焦点位于允许扫描的任何字段上时,我还在角落出现了一个框,上面写着“准备扫描”。在我的例子中,它是一个库存应用程序,所以它包括数量和项目# 字段。

这里的一个巨大的好处是它可以在 IE 以外的浏览器中运行 - 这意味着您的应用程序的客户端部分的运行速度至少会快两倍(IE 是迄今为止最慢的主流浏览器)。

于 2009-02-02T20:36:27.650 回答
1

了解设备是否具有可以与之通信的内置 Web 服务器。一些指纹和读卡器提供了内置的 Web 服务器,您只需将命令发送到这些服务器,它们就会处理与设备的通信。

于 2011-04-10T01:01:00.800 回答
0

此处提到了自定义 ActiveX,这是肯定的。如果您需要跨浏览器或跨平台支持,Java 小程序可能是更好的选择。

于 2009-02-02T21:00:22.610 回答