2017-06-29 72 views
0

我試圖更新某些系統仍然使用ActiveX的某些事情。例如,它使用該JavaScript有一個用戶登錄和訪問互聯網(從我們的內部網)用自定義協議處理程序替換ActiveX?

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

該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>