中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 快速定位注册表→VBS版 取消高亮 | 上一主题 | 下一主题
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『楼 主』:  快速定位注册表→VBS版

为了方便易用做成VBS版,添加到“网上邻居”右键菜单。
使用方法为:自动取得剪贴版内的注册表路径打开注册表定位。

快速注册表定位




①LastKey方法实现定位。
②由于网络中大量存在简写,自动转换HKCU→HKEY_CURRENT_USER
③若取得剪贴板中路径格式正确则无提示直达路径中最末有效路径。
④若取得剪贴板中路径为空或者路径格式错误则提示手动输入路径。

[ Last edited by baomaboy on 2007-4-14 at 04:13 AM ]



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-4-13 16:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 2 楼』:  快速定位注册表



  Quote:
Dim WshSHell,FSO
On Error Resume Next
Set WshSHell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WinVer = WshSHell.Environment("Process")
Set Args = WScript.Arguments
CloseTime = 5
FileName = WScript.ScriptName
FileFullName = WScript.ScriptFullName
FilePath = FSO.GetParentFolderName(FileFullName)
InsPath = FSO.GetSpecialFolder(1)'''0=windows,1=system32,2=user-Temp,
InsFullName = FSO.BuildPath(InsPath ,FileName)
Copyright="玲珑科技"
QQ="QQ:25926183"
Email="Email:fty1995@163.com"
InsTitle="快速定位注册表"
InsAnswer="快速定位注册表"
RegPath1="HKEY_CLASSES_ROOT\CLSID\{208D2C60-3AEA-1069-A2D7-08002B30309D}\shell\QuickTo_Registry\"
RegValue1="定位注册表(&Q)"
RegForm1="REG_SZ"
RegPath2="HKEY_CLASSES_ROOT\CLSID\{208D2C60-3AEA-1069-A2D7-08002B30309D}\shell\QuickTo_Registry\command\"
RegValue2="wscript.exe "&InsFullName
RegForm2="REG_SZ"
IF FileFullName <> InsFullName then
intAnswer = MsgBox("【是】将“"+ InsAnswer +"”加入到网上邻居右键菜单,"&Chr(10)&Chr(10)&"【否】将“"+ InsAnswer +"”从网上邻居右键菜单删除。 ", vbQuestion + vbYesNoCancel, "安装 - "+ InsTitle +" - "+ Copyright)
    If intAnswer = vbYes Then
WshSHell.RegWrite RegPath1,RegValue1,RegForm1
WshSHell.RegWrite RegPath2,RegValue2,RegForm2
FSO.GetFile(FileFullName).Copy(InsFullName)
WshSHell.popup _
"添加脚本文件:"+chr(10)+InsFullName+chr(10)+chr(10)+ _
"添加注册表项:"+chr(10)+chr(34)+ RegPath1 +chr(34)+chr(10)+ _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C)  " + Copyright +"   " & QQ &"   " + Email _
, CloseTime, "安装成功 - "+ InsTitle +" - "+ Copyright, 0 + 64
end if
        If intAnswer = vbNo Then
WshSHell.RegDelete RegPath2
WshSHell.RegDelete RegPath1
FSO.DeleteFile InsFullName
WshSHell.popup _
"删除脚本文件:"+chr(10)+InsFullName+chr(10)+chr(10)+ _
"删除注册表项:"+chr(10)+chr(34)+ RegPath1 +chr(34)+chr(10)+ _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C)  " + Copyright +"   " & QQ &"   " + Email _
, CloseTime, "卸载成功 - "+ InsTitle +" - "+ Copyright, 0 + 64
End If
        If intAnswer = vbCancel Then
end if
ELSE
Key_DataStr=UCase(CreateObject("htmlfile").parentWindow.clipboardData.getData("text"))
Key_DataStr = Trim(Key_DataStr)''网页中复制时首尾极易有多余的空格,去除。
Key_DataStr=Replace(Key_DataStr,chr(10),"")''换行和回车有时不同时存在,所以分别替换。
Key_DataStr=Replace(Key_DataStr,chr(13),"")
if Left(Key_DataStr,2)="HK" then
if Right(Key_DataStr,1)="\" then
Key_DataStr=Left(Key_DataStr,Len(Key_DataStr)-1)
end if
Key_Data=Key_DataStr
else
Key_Data=Inputbox(vbcrlf & "由于剪贴板中的路径无效," & vbcrlf & vbcrlf & "请手工输入你要去的路径:","输入注册表路径-快速定位注册表",Key_DataStr)
end if
If Key_Data=False Then WScript.Quit
Key_Data=Replace(Key_Data,"HKCR","HKEY_CLASSES_ROOT")''转换根键的简写。
Key_Data=Replace(Key_Data,"HKCU","HKEY_CURRENT_USER")
Key_Data=Replace(Key_Data,"HKLM","HKEY_LOCAL_MACHINE")
Key_Data=Replace(Key_Data,"HKU","HKEY_USERS")
Key_Data=Replace(Key_Data,"HKCC","HKEY_CURRENT_CONFIG")
Key_Data=Replace(Key_Data,"\\","\")''如果是REG文件内容,替换其中的双“\”符号。
Call LastKey
end if
Set WshSHell = Nothing
Set FSO = Nothing
Set Args = Nothing
WScript.Quit(0)
Sub LastKey()
RegLPath="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey"
RegLForm="REG_SZ"
WshSHell.RegWrite RegLPath ,"我的电脑\" & Key_Data,RegLForm
WshSHell.Run("Regedit")
End Sub

ÿ

[ Last edited by baomaboy on 2008-3-24 at 10:14 PM ]



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-4-13 16:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 3 楼』:  

下面用于试验:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

上面极易复制末尾的空格,所以代码中应加一句过滤掉首尾处的空格。

呵呵 原来不只是空格 连回车换行都有.......

[ Last edited by baomaboy on 2007-4-14 at 04:04 AM ]



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-4-13 16:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
r5288665
新手上路





积分 15
发帖 7
注册 2006-12-28
状态 离线
『第 4 楼』:  

真的很难懂。。。。。

看不明白,楼主好厉害啊。

2007-4-13 18:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kich
中级用户





积分 397
发帖 168
注册 2006-10-8
状态 离线
『第 5 楼』:  

baomaboy强,我们跟在后面多学习!

纵观baomaboy的VBS,基本上分两类:注册表+文件(夹)操作!!

2007-4-14 00:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by kich at 2007-4-14 00:22:
baomaboy强,我们跟在后面多学习!

纵观baomaboy的VBS,基本上分两类:注册表+文件(夹)操作!!

谢谢谢谢kich 我的电脑里除了文件夹和文件没有别的了 呵呵 只能操作操作它们俩了 ^_^

[ Last edited by baomaboy on 2007-4-14 at 04:15 AM ]



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-4-14 04:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
eech
高级用户




积分 906
发帖 346
注册 2006-7-10
状态 离线
『第 7 楼』:  

下了。用过。还可以。但还是觉的麻烦。要是在任意文件上点击。可打开这“定位注册表”会更方便一些

2007-4-24 01:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by eech at 2007-4-24 01:43:
下了。用过。还可以。但还是觉的麻烦。要是在任意文件上点击。可打开这“定位注册表”会更方便一些

定位注册表应该并不是很频繁的操作,所以为了精简“文件夹”和“文件”的右键菜单才安装到“网上邻居”的右键的,
改下注册表路径很简单就能安装在“文件”的右键中了,
HKEY_CLASSES_ROOT\*\shell\



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-4-24 03:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhuangtugou
新手上路





积分 12
发帖 5
注册 2007-5-6
状态 离线
『第 9 楼』:  

这个很 好啊
太厉害了
值得学习啊

2007-5-7 00:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
eech
高级用户




积分 906
发帖 346
注册 2006-7-10
状态 离线
『第 10 楼』:  

能不能做到一复制到剪切板就自动打开

2007-5-9 16:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by eech at 2007-5-9 16:46:
能不能做到一复制到剪切板就自动打开

能做到,用个VBS常驻进程,没隔1,2秒判断是否为空即可,但要考虑后果,我相信用不了两天你就烦了,剪贴板操作多了,能有几次是专为定位注册表啊。



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-5-9 17:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 12 楼』:  

另外“开始菜单”本身就是个文件夹,把网上邻居换文件夹就行了。那样确实方便了些不用每次返回桌面了。



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-5-9 17:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
eech
高级用户




积分 906
发帖 346
注册 2006-7-10
状态 离线
『第 13 楼』:  

谢谢自己搞掂了

2007-5-9 18:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
moto88
新手上路





积分 4
发帖 11
注册 2006-6-20
状态 离线
『第 14 楼』:  

直接入注册表好过

   此帖被 -17 点积分          点击查看详情   
评分人:【 baomaboy 分数: -15  时间:2007-5-16 19:02
评分人:【 chengbiner 分数: -2  时间:2007-8-8 16:36


2007-5-16 16:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by moto88 at 2007-5-16 16:51:
直接入注册表好过

请说普通话!



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-5-16 19:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: