EDIT2: 对于遇到相同问题的用户,我已设法使用this page解决问题。祝你好运!
修改 显然我的问题是我需要在客户端计算机上安装ActiveX组件。这样做的正确方法是什么?
我在C#中编写了一个小型ActiveX组件,用于搜索USB闪存驱动器等可移动驱动器。我已经按照here的步骤进行了操作,简而言之,我编写了一些代码并执行了:regasm AClass.dll /tlb /codebase
我写了ActiveX组件,因为它需要在外部服务器上执行。所以我创建了一个使用ActiveX的小网页。当我使用localhost时,代码被执行并且我的USB密钥被检测到。它甚至可以在最终目标的ASP.NET页面内工作。
但是,从外部服务器访问页面时,代码不会被执行。我在加载ActiveX组件之前和之后放置了javascript警报。加载ActiveX后的警报甚至不会触发。
网页使用以下代码:
<html>
<head>
<script language="javascript">
alert("Loading ActiveX");
var x = new ActiveXObject("ANamespace.AClass");
alert(x.GetDrives());
alert("Done");
</script>
</head>
<body></body>
</html>
我可以发布C#ActiveX代码,虽然我认为它不需要,它只是试图找到可移动磁盘驱动器,它在我的本地主机上工作正常。
注意,这实际上是我第一次使用ActiveX。提前谢谢!
答案 0 :(得分:0)
请确保您在目标计算机上安装了ActiveX控件。我正在使用RegDllView来检查它。这个实用程序是免费的,你可以在这里找到它:http://www.nirsoft.net/(尝试使用x86和x64,这取决于你的控制)。 祝好运! :)正如jeffamaphone所说 - “......这是一个痛苦的,记录不清的世界,你已经进入了......”这是真的:))