2010-09-28 81 views
3

我们有一个基于C#和ASP.NET的网站,我有一个带.dll文件的条形码扫描程序来控制它,我可以在VB6中工作。在深入探究如何做到这一点之前,我想先快速回答一下,是否有可能首先做我想做的事。基于C#/ ASP.NET的网站中的VB6 ActiveX控件

我可以在VB6中编写一个activex控件,它允许我控制条形码扫描器并在我们基于.NET的网站中实现activex控件吗?

只是要清楚,不要问怎么做,只是问是否可以做到。我之前没有做过任何ActiveX编程,很长一段时间没有碰过VB6。

谢谢!

+1

您是否试图控制连接到客户机的条形码扫描仪?如果是这样,你不应该写一个网站。 – SLaks 2010-09-28 23:23:06

+0

是的,但这只是网站的一个附加功能,它在技术上与网站本身无关。该网站本身是一个完全独立的实体,只是寻找更好的方式,通过条形码扫描仪和我们的数据库将项目从一个位置移动到另一个位置。它实际上与独立的VB6应用程序很好,但我正在寻找更好的方法来实现此功能。 – 2010-09-28 23:45:31

回答

0

我相信它应该是可能的;但您可能需要使用JavaScript和ActiveX对象来实现它。这将要求用户的浏览器设置为允许您的网站与ActiveX对象进行交互。这方面的一个简单的例子,利用链接来启动一个程序(如远程桌面客户端):

<script type="text/javascript"> 
    function runMstsc() { 
     var command="mstsc.exe /v:127.0.0.1 /w:1024 /h:768"; 
     var scriptHost = new ActiveXObject("WScript.Shell"); 
     scriptHost.run(File); 
    } 
</script> 

假设您的应用程序是一个有效的ActiveX控件,你应该能够minipulate它以类似的方式来WScript.Shell。

+0

太棒了!感谢您的快速回复!知道我应该能够做到这一点将使我的工作重点转向这种方法。 – 2010-09-28 23:39:04

0

ActiveX控件是安装在用户机器上的客户端组件。然后他们被托管在浏览器内。所以是的,如果扫描器连接到客户机,您可以通过ActiveX控件访问它。然后,您必须使用一些AJAX/XML/JavaScript分类将数据发送回服务器。

0

大多数用户会看到令人恐惧的安全警告,因为他们的浏览器不信任您的ActiveX控件。如果有任何东西使用设备驱动程序检测到控件,我认为安全警告将会变成核心。

您是否考虑过使用单独的桌面应用程序,通过Web服务与网站进行通信?您可以使用ClickOnce deployment,以便用户不必以管理员身份运行安装或登录。

+0

我们已经讨论过这些选项,但我们并不真的想要走这条路线。如果使用ActiveX控件选项不适用于我们。我们的客户在安装一个activex控件时没有问题,因为他们必须安装另一个控件。这是一个私人网站,不公开。 – 2010-09-29 20:06:25

+0

在私人网站上,ActiveX控件应该没问题 – MarkJ 2010-09-29 20:22:34