我正在尝试更新仍在某些事情上使用ActiveX的系统。例如,它使用此javascript来登录用户并访问互联网(来自我们的内部网)
var workingDirectory = "c:\\program files\\internet explorer";
var filename = "c:\\program files\\internet explorer\\iexplore.exe";
var arguments = referrer;
var obj = new ActiveXObject("FHS.ProcessLauncherUtility");
processId = obj.LaunchProcessReturnProcessId(domain, username, password,
workingDirectory, filename, arguments);
显然,我更愿意做类似自定义协议处理程序的事情来处理这个并传递参数,但是我不完全会在这里工作,因为它在继续之前检查用户的登录。
答案 0 :(得分:0)
ActiveX正在调用DLL,然后通过JavaScript将其传回ASPX页面。我用自定义协议处理程序将调用替换为exe(客户端),它处理ASPX页面在Windows应用程序中执行的所有操作。这使一切变得更加容易。启动exe的调用如下所示:
<html>
<body>
<form id="frmMain" runat="server">
<a href="FHSProcessLaunch:freemanhealth|c:\\program files\\internet
explorer|c:\\program files\\internet
explorer\\iexplore.exe|http:\\google.com">Internet Login</a>
</form>
</body>
</html>