Запуск файла WSH / VBScript из IE8 не работает - PullRequest
0 голосов
/ 13 января 2010

Я создал пользовательский элемент меню правой кнопки мыши в IE8, используя следующую информацию реестра:

[HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Internet Explorer \ MenuExt \ WebOn edit] @ = "C: \\ webon_edit \\ wo_edit.vbs"

Выбор «Редактирование WebOn» отображается в меню правого клика IE8. До обновления до Windows 7 это работало нормально: когда я щелкнул по пункту меню, файл «wo_edit.vbs» запустился (используя cscript) и выполнил все, что предполагалось.

Но сейчас ничего не происходит. Похоже, что cscript вообще не вызывается.

Это связано с некоторыми ограничениями безопасности, связанными с неиспользованием внешнего vbscript из IE?

1 Ответ

0 голосов
/ 09 марта 2011

вы не можете выполнить cscript напрямую из контекстного меню в IE8. Самый простой вариант - это обернуть ваш VBScript в html-файл или выполнить cscript из html-файла. Затем просто вызовите этот HTML, используя контекстное меню.

Для этого создайте html-файл с вашим vbscript или вызовом cscript. Затем настройте строку реестра для использования этого файла с @ = "file: // C: \ example.html".

Выполнить пример VB:

<HTML>
  <HEAD>
    <SCRIPT LANGUAGE="VBScript">
      Sub ShowVBisWorking()
        MsgBox("I'm working")
      End Sub
    </SCRIPT>
  </HEAD>
  <BODY ONLOAD=ShowVBisWorking()>
  <BODY>
</HTML>

Пример выполнения cscript:

<HTML>
  <HEAD>
    <SCRIPT LANGUAGE="VBScript">
      Sub LaunchProcess()
        Dim Shell
        Set Shell = CreateObject("Wscript.Shell")
        Shell.Run "cscript c:\test.vbs",1
        Set Shell = Nothing
      End Sub
    </SCRIPT>
  </HEAD>
  <BODY ONLOAD=LaunchProcess()>
  <BODY>
</HTML>
...