2010-09-28 86 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