【问题标题】:Accessing hardware from within Internet Explorer从 Internet Explorer 中访问硬件
【发布时间】:2009-02-02 20:24:29
【问题描述】:

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

如果是,使用了哪些技术?有没有 .Net 的例子。

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

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

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

【问题讨论】:

    标签: .net silverlight internet-explorer hardware


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      访问硬件的另一种方法是register an application to an URL protocol。并与之交流。这样你就可以像

      一样编写 HTML
       <A href="MyScanReader://ReadTheScanNo?12345">Scan</A>
      

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

      【讨论】:

        【解决方案3】:

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

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

        作为gregmac mentions,您甚至可能实际上需要直接硬件访问。先检查一下...

        【讨论】:

          【解决方案4】:

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

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

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

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

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2019-06-17
                • 2012-01-26
                • 1970-01-01
                • 1970-01-01
                • 2015-03-14
                • 1970-01-01
                • 2010-09-11
                相关资源
                最近更新 更多