2009-09-03 43 views
1

我试图创建一个Active X组件,它将在客户机上启动应用程序。我创建了一个在.NET中非常直接的Active X控件。 ALl的作用是调用Process类并调用Start。如何在ASP.NET页面中使用JavaScript调用ActiveX控件

现在我想能够从JavaScript传递页面上的几个参数(然后作为命令行参数传递)来调用此类的启动方法。

我跟着这里的指南:http://www.c-sharpcorner.com/UploadFile/mgold/HyperlinkExec03012007191054PM/HyperlinkExec.aspx

关于使用超链接来启动JavaScript,但我使用一个按钮本指南会谈。这是我的HTML(我在只是普通的HTML而不是ASP.NET让事情变得简单了,现在想这一点,但我想去ASP.NET最终)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 

    <body> 
     <button type="button" onclick="javascript:launch()">Click me!</button> 
     <script type="text/javascript"> 
      function launch() 
      { 
       alert('test') 
       var myLauncher = new ActiveXObject('CardWriterApplicationLauncher'); 
       myLauncher.LaunchCardWriter('test', 'test', 'test'); 
      } 
     </script> 

    </body> 
</html> 

如何当我按一下按钮我得到错误“自动化服务器无法创建对象”。我知道我的COM DLL在GAC中正确注册并带有regasm,所以我可能会做错什么?

另外任何解决方案从网页启动用户桌面上的应用程序将不胜感激。浏览器安全设置可以根据需要进行修改,因为客户端PC受我们控制,并且位于无法访问互联网的专用网络上。

感谢

回答

0

如果您有ActiveX控件的公共属性或方法你能不能只调用那些使用JavaScript直接引用<Object>的ID?

因此,ActiveX控件已使用<object>标签加载到页面上,而您只需调用其方法即可。

+0

我将如何去使用对象标签。我已经看到了一些关于它的信息,但从来没有设法让它工作。 – 2009-09-07 08:05:56

+0

搜索如何在hmtl页面中嵌入activeX控件请参阅:http://www.fpoint.com/support/whitep/ActiveX/ax1999.aspx这将在页面上显示控件(在您的情况下,它可能没有一个界面,但你可以添加一个来测试它)一旦你在页面上的控制,你可以开始使用JavaScript进行交互。 – 2009-09-07 08:41:48

0

扔掉浏览器片刻并转到客户机,确保可以在机器上正确创建activex对象,使用简单的vb脚本或虚拟应用程序。

创建一个名为something.vbs文件,它把下面的代码

Set MyObj = CreateObject("CardWriterApplicationLauncher") 

一旦确认部分工作转到您的浏览器。

它可能是您的问题与您的浏览器无关。

此外,我只是注意到CardWriterApplicationLauncher不是一个有效的对象标识符,他们通常需要一个。在他们中。例如word.application

相关问题