2013-04-13 16 views
5

Mój szczególny problem dotyczy obiektu WScript z VBScript w aplikacji HTA.wscript.shell działa w javascript, ale nie vbscript

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

Działa to doskonale na moim komputerze pracy (Windows 7 Enterprise), ale nie na moim komputerze w domu (Windows 8 głównej), a nie na mojej matki komputera (Windows 7 Home).

ALE CZEKAJ! JEST WIĘCEJ!

Początkowo myślałem, że może bibliotek nie ma, więc sprawdziłem inny program, który napisałem, który używa JavaScript i nie ma problemu. Przetestowałem javascript w mojej aplikacji i działa dobrze.

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

To jest błąd, który ciągle dostaję.

BŁĄD: Nie można znaleźć dostawcy. Może nie być poprawnie zainstalowany.

Ciągle spotykam się z rozwiązaniami o 64 vs 32-bitowym i próbuję ich i to nie działa. Nie wyjaśnia też, dlaczego działa w JavaScript, a nie w VBScript. Jestem sfrustrowany, przeszukany wysoko i nisko, i naprawdę chcę mieć teraz McDouble. Tak więc wszelkie informacje byłyby bardzo doceniane, nawet jeśli musisz powiedzieć "To beznadziejne. Przepisz całość w JavaScript"

+1

Możesz mieszać VBScript i JScript na jednej stronie, więc teoretycznie powinieneś móc wywołać 'Set objShell = javaTest()' w twoim kodzie VBScript. To obejście nie jest rozwiązaniem, ale jest lepsze niż przepisanie całości. –

+0

Sprawdź PATH (zarówno USER, jak i SYSTEM). Możesz to zrobić, wpisując polecenie PATH w wierszu polecenia, a następnie sprawdź, które aplikacje mogą uruchamiać Twój skrypt. Aktualizacja – Lizz

Odpowiedz

2

Prawdopodobnie masz różne ustawienia uruchamiania obiektów ActiveX w przeglądarkach na tych komputerach. Aby go uruchomić spróbować skonfigurować go w przeglądarkach:

  • Otwarty na Narzędzia
  • Opcje internetowe ...
  • zakładce
  • Wybierz bezpieczeństwo.
  • Wybierz Internet w strefie zawartości sieci Web. (Lub strefy, w których Twoja strona internetowa jest)
  • Następnie kliknij przycisk Poziom niestandardowy ...
  • Znajdź sekcję ActiveX na liście (to jest naprawdę długa)
  • W ustawieniach ActiveX wybierz opcję Monituj lub Włącz
+0

: Działa na komputerze mojej matki (Windows 7). Cóż, próbowałem twojej sugestii, Garath, i nie idź. Cheran, to nie jest taki zły pomysł i znacznie redukuje czas przepisywania. Ta wersja systemu Windows 8 została zainstalowana w ciągu tygodnia (kopia OEM). Jedyne rzeczy, które zostały zainstalowane to: Visual Studio 2012 express, Dev C++, Net Bean ide7 (z JRE) i kilka innych sdk. Poza tym muzyka i zdjęcia z mojego backupu. Czy jest coś, czego mi brakuje? –

+0

Który IE uruchamiasz metro lub normalnie? –

+0

Normalny. Normalnie zakładam, że jest taki sam jak tryb pulpitu. –