程序代码是这样的(我是模仿baomaboy写的):
Dim FSO,Ws,ScriptFolder,SN,SFN,TheScript,Args
Set FSO=CreateObject("Scripting.FileSystemObject")
Set Ws = CreateObject("WScript.Shell")
Set Args = WScript.Arguments
'取得系统文件夹并准备创建脚本
SN=WScript.ScriptName
SFN=WScript.ScriptFullName
ScriptFolder= FSO.GetSpecialFolder(1)
TheScript=FSO.BuildPath(ScriptFolder,SN)
'设置文件夹右键关联注册表项
RegPath1="HKEY_CLASSES_ROOT\Directory\shell\SendLink\"
RegValue1="将当前文件夹发送到快捷菜单"
RegForm1="REG_SZ"
RegPath2="HKEY_CLASSES_ROOT\Directory\shell\SendLink\command\"
RegValue2="wscript.exe " & chr(34) & TheScript & chr(34) & " " & chr(34) & "%L" & chr(34)
RegForm2="REG_SZ"
'如果不是运行系统文件夹下的脚本,即外部安装
If SFN<>TheScript Then
answer=MsgBox("【是】将“"&RegValue1&"”加入到右键菜单,"&vbCr&"【否】将“"&RegValue1&"”从右键菜单删除。 ", 67, "安装脚本")
If answer = vbYes Then
Ws.RegWrite RegPath1,RegValue1,RegForm1
Ws.RegWrite RegPath2,RegValue2,RegForm2
FSO.GetFile(SFN).Copy(TheScript)
MsgBox "添加脚本“"&SN&"”成功",64,"添加成功"
ElseIf answer =vbNo Then
Ws.RegDelete RegPath2
Ws.RegDelete RegPath1
FSO.DeleteFile TheScript
MsgBox "删除注册表和脚本“"&SN&"”成功",64,"删除成功"
Else
WScript.Quit
End If
'右键调用的时候
Else
......(执行操作的脚本,后面就不说了)
=======================
问题:我添加注册表右键可以,成功添加,而且程序也可以顺利进行,但是为什么删除这个右键的时候,却说无法移除那注册表值,请问是怎么回事?
出错在什么地方?我实在是找不出原因了!
谢谢
[ Last edited by kich on 2007-4-12 at 07:59 AM ]
Dim FSO,Ws,ScriptFolder,SN,SFN,TheScript,Args
Set FSO=CreateObject("Scripting.FileSystemObject")
Set Ws = CreateObject("WScript.Shell")
Set Args = WScript.Arguments
'取得系统文件夹并准备创建脚本
SN=WScript.ScriptName
SFN=WScript.ScriptFullName
ScriptFolder= FSO.GetSpecialFolder(1)
TheScript=FSO.BuildPath(ScriptFolder,SN)
'设置文件夹右键关联注册表项
RegPath1="HKEY_CLASSES_ROOT\Directory\shell\SendLink\"
RegValue1="将当前文件夹发送到快捷菜单"
RegForm1="REG_SZ"
RegPath2="HKEY_CLASSES_ROOT\Directory\shell\SendLink\command\"
RegValue2="wscript.exe " & chr(34) & TheScript & chr(34) & " " & chr(34) & "%L" & chr(34)
RegForm2="REG_SZ"
'如果不是运行系统文件夹下的脚本,即外部安装
If SFN<>TheScript Then
answer=MsgBox("【是】将“"&RegValue1&"”加入到右键菜单,"&vbCr&"【否】将“"&RegValue1&"”从右键菜单删除。 ", 67, "安装脚本")
If answer = vbYes Then
Ws.RegWrite RegPath1,RegValue1,RegForm1
Ws.RegWrite RegPath2,RegValue2,RegForm2
FSO.GetFile(SFN).Copy(TheScript)
MsgBox "添加脚本“"&SN&"”成功",64,"添加成功"
ElseIf answer =vbNo Then
Ws.RegDelete RegPath2
Ws.RegDelete RegPath1
FSO.DeleteFile TheScript
MsgBox "删除注册表和脚本“"&SN&"”成功",64,"删除成功"
Else
WScript.Quit
End If
'右键调用的时候
Else
......(执行操作的脚本,后面就不说了)
=======================
问题:我添加注册表右键可以,成功添加,而且程序也可以顺利进行,但是为什么删除这个右键的时候,却说无法移除那注册表值,请问是怎么回事?
出错在什么地方?我实在是找不出原因了!
谢谢
[ Last edited by kich on 2007-4-12 at 07:59 AM ]
