0

我使用以下注册表信息在 IE8 中创建了一个自定义右键菜单元素:

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\WebOn 编辑] @="c:\\webon_edit\\wo_edit.vbs"

选项“WebOn 编辑”出现在 IE8 的右键菜单中。在升级到 Windows 7 之前,这很好用:当我单击菜单选项时,“wo_edit.vbs”文件运行(使用 cscript)并完成了它应该做的事情。

但现在,什么都没有发生。似乎 cscript 根本没有被调用。

这是由于一些关于不使用 IE 中的外部 vbscript 的安全限制吗?

4

1 回答 1

0

您不能直接从 IE8 的上下文菜单中执行 cscript。最简单的选择是将 VBScript 包装在 html 文件中,或者从 html 文件中执行 cscript。然后只需使用上下文菜单调用该 html。

为此,请创建一个包含您的 vbscript 的 html 文件,或调用 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>
于 2011-03-09T01:44:48.883 回答