初学者提问:客户端能运行这句话“Set WshShell=CreateObject("Wscript.Shell")”吗?谢谢!
下面是一段测试代码。我有三个问题请教:
1、对于ASP来说,<%%>里面的脚本在服务器端运行;<script language="vbscript"></script>里面的脚本在客户端运行;<script language="vbscript" runat="Server"></script>里面的脚本在服务器端运行。我的理解对不对?
2、Set WshShell=CreateObject("Wscript.Shell") 这句话能运行成功吗?这可是在客户端哦,哪来的Server对象呢?如果改成<script language="vbscript" runat="Server">...</script>,姑且不论能不能这么改,似乎与作者的意图不符(作者应该是希望代码在客户端运行)!
3、不明白这段代码的用意:是将客户端的组件注册到客户端?还是将客户端的组件注册到服务器端?还是将服务器端的组件注册到服务器端?注册操作肯定是在客户端运行的,问题是:组件在哪里?注册到哪里?
——我对ASP不熟悉。多谢了!
<html>
<head>
<script language="vbscript">
sub fun_reg()
Set WshShell=CreateObject("Wscript.Shell")
Set fso=CreateObject("Scripting.FileSystemObject")
If fso.FileExists("D:\Temp.dll") Then
WshShell.run "regsvr32 /s D:\Temp.dll",1,true
msgbox "组件注册成功!"
else
MsgBox "没有发现指定的DLL文件!"
end if
set fso=nothing
set WshShell=nothing
end sub
</script>
</head>
<body>
<input type="button" value="注册" name="reg_dll" language="vbscript" onclick="fun_reg()">
</body>
</html>