2013-04-13 53 views
5

我的特殊問題涉及HTA中帶有VBScript的WScript對象。wscript.shell在JavaScript中工作,但不是vbscript

<script language="VBScript"> 
    Sub test() 
     Set objShell = CreateObject("WScript.Shell") 
    End Sub 
</script> 

這工作完全我的工作電腦上(Windows 7企業版),但不是我的家計算機(Windows 8家),而不是我母親的電腦上(Windows 7家庭)上。

但是等待!還有更多!

起初我以爲也許這些庫不在那裏,所以我查了另一個我使用JavaScript編寫的程序,它沒有問題。測試了我的應用程序中的JavaScript,它運行良好。

<script language="JavaScript"> 
    function javaTest() 
    { 
     objShell = new ActiveXObject("WScript.Shell"); 
    } 
</script> 

這是我不斷收到的錯誤。

錯誤:無法找到提供程序。它可能沒有正確安裝。

我不斷遇到關於64位和32位的解決方案,我嘗試了它,它不起作用。它也不解釋它爲什麼在JavaScript中而不是在VBScript中起作用。我感到沮喪,被高估和低估,我現在真的很想要McDouble。所以,任何信息都將不勝感激,即使你必須告訴我「這是絕望的,用JavaScript重寫整個事情」

+1

您可以在單個頁面上混合使用VBScript和JScript,因此理論上可以在VBScript代碼中調用Set objShell = javaTest()。儘管這不是一個解決方案,但它比重寫整個事情要好。 –

+0

檢查PATH(用戶和系統)。您可以通過在命令提示符下鍵入PATH來完成此操作,然後檢查哪些應用程序可能首先運行腳本。 – Lizz

回答

2

在這臺計算機的瀏覽器中啓動ActiveX對象可能有不同的設置。爲了使它發射嘗試配置它在瀏覽器:

  • 打開Tools(工具)
  • 選擇Internet選項...
  • 選擇安全選項卡。
  • 在Web內容區域中選擇Internet。 (或區域中,你的網頁是)
  • 然後,點擊自定義級別...
  • 查找名單上的ActiveX節(這是很長的)
  • 在ActiveX設置選擇提示或啓用
+0

更新:適用於我母親的電腦(Windows 7)。 嗯,我試過你的建議加拉思,並沒有去。 Cheran,這不是一個好主意,並且大大減少了我的重寫時間。 Windows 8的這個副本是在一週之前安裝的(OEM副本)。只有已經安裝的東西是:Visual studio 2012 express,Dev C++,Net Bean ide7(帶有JRE)以及其他一些SDK。除此之外,還有備份中的音樂和照片。有沒有我失蹤的東西? –

+0

哪個IE瀏覽器正在啓動城域或正常? –

+0

正常。正常情況下,我假設它與桌面模式相同。 –

相關問題