我正在尝试创建一个Active X组件,它将在客户端计算机上启动应用程序。我已经创建了一个Active X控件,它在.NET中非常简单。它确实是调用Process类并调用Start。
现在我希望能够通过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在我们的控制之下,并且位于无法访问Internet的专用网络上。
由于
答案 0 :(得分:0)
如果您在ActiveX控件中有公共属性或方法,那么您是否可以使用JavaScript直接调用直接引用<Object>
ID的那些?
因此,使用<object>
标记已在页面上加载ActiveX控件,您只是调用其方法。
答案 1 :(得分:0)
暂时离开浏览器并转到客户端计算机,确保可以在计算机上正确创建activex对象,使用简单的vb脚本或虚拟应用程序。
创建一个名为something.vbs的文件,在其中放入以下代码
Set MyObj = CreateObject("CardWriterApplicationLauncher")
确认该部件正常工作后,请转到您的浏览器。
您的问题很可能与您的浏览器无关。
我还注意到CardWriterApplicationLauncher不是他们通常需要的有效对象标识符。在他们中。例如word.application