我有一个相当简单的代码块.
Sub Run(Name)
on error resume next
Set objShell = CreateObject("WScript.Shell")
if Err.Number = 429 then
alert("Invalid Security Level.")
exit sub
end if
objShell.Run Name
if Err.Number <> 0 then
Alert("Please verify your Operating System Choice")
end if
Set objShell = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
我正在使用网站上的链接,允许用户通过以下方式对硬盘进行碎片整理:
<a href="#" onclick="Run('c:\\windows\\system32\\dfrgui.exe')">Defrag Windows Vista</a><br>
<a href="#" onclick="Run('c:\\windows\\system32\\dfrg.msc')">Defrag Windows Server 2003 SE or Windows XP</a>
Run Code Online (Sandbox Code Playgroud)
你可能猜到..使用:
Set objShell = CreateObject("WScript.Shell")
Run Code Online (Sandbox Code Playgroud)
导致一些问题,并且抛出了无法创建对象的错误.我可以进入IE安全性并更改安全设置,
"初始化并编写未标记为脚本安全的ActiveX控件脚本"
"提示",当我点击"是"时,它实际上会提示我并运行.
我现在的问题是;
因为这不是来自asp服务器的单独代码块(htm页面没有代码隐藏).我是否真的需要花费20美元来签名,我将如何在htm页面的vbscript上首先做到这一点?
此外,将在DOES中实施的站点具有SSL证书.是否有可能以某种形式或形式整合到现有的证书中?
我想做的就是拥有像...一样的链接
"如果你想整理你的计算机,请点击这里"
"如果你想运行磁盘扫描,请点击这里"
并且告诉所有客户进入并更改其安全设置不是一种选择.
你的代码不是问题.当您创建"WScript.Shell"对象时,IE会询问该控件是否可以安全地编写脚本.该对象返回"否".这就是你的代码不起作用的原因.只要你使用"WScript.Shell"就会遇到问题.
解决此问题的一种方法是创建自己的ActiveX控件,标记为"安全的脚本",但是您必须让所有用户安装它.
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |