![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-25 03:21 |
共 47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [半原创]系统增强VBS工具集 |
| 可打印版本 3,324 / 15 |
| 第1楼 baomaboy | 发表于 2007-01-28 13:26 |
| 银牌会员 发帖 554 积分 1,513 | |
|
[半原创]系统增强VBS工具集 1.杀软会报毒,试用时暂时关了杀软的实时监控吧,我保证没不是病毒,怕的就不要下了。
2.写了几个晚上头都大了,没仔细测试,还是发上来好,测试的人多。 3.好多创意来自无奈何版主的SendTo+,用了SendTo+后才有打算做个VBS集合。 系统增强VBS工具集的打包文件(209k): http://zhenlove.com.cn/cndos/fileup/files/LLKJ-PCOptimize.rar 懒的分卷就放到上传系统上了。 |
|
| 第2楼 electronixtar | 发表于 2007-01-29 00:32 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
又是exe又是加密,我真是服了U了
|
|
| 第3楼 baomaboy | 发表于 2007-01-29 00:43 |
| 银牌会员 发帖 554 积分 1,513 | |
|
真是不好意思,
EXE就是RAR的自解压文件,我是个超级懒人总想一劳永逸,不想一个一个去翻我的文件所以夹才作了个RAR自解压安装的,呵呵,做时只顾考虑自己方便了,不知道会伤害大家的情绪,但是EXE不是问题,右键解包就行了。 说是加密,其实就是一叶障眼而已,VBS能真加密我还没遇到过。。。。 加密是因为写的太多,这个要创建对象,那个又要设置新变量,所以把每次增加的对象和变量的代码我就当做模版了,写新程序的就直接复制原来的代码,即使此程序用不到这个对象或变量,而且为了能够更人性化使用了很多错误处理,随意的加了很多if...then,呵呵源码乱死了(水平低没办法啊),怕误导了像我一样的菜鸟也是怕这么个不成熟且可能错漏百出的半成品流传所以才。。。。我觉得代码成熟时,确实能够起到它应有的作用时,我会把源码放上来的...... 唉.......今天喝朋友小孩的百天酒,高了,不喜欢的话.....我还是拿下来自己用自己试..... [ Last edited by baomaboy on 2007-1-29 at 03:43 AM ] |
|
| 第4楼 electronixtar | 发表于 2007-01-29 04:55 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
呵呵,我建议把核心代码直接贴上来,这样大家好讨论。比如说弹光驱的那个使用了 mplayer.ocx 的一个 eject 方法
|
|
| 第5楼 baomaboy | 发表于 2007-01-29 05:25 |
| 银牌会员 发帖 554 积分 1,513 | |
|
呵呵,
右键菜单: ①重启资源管理器 For Each Process in GetObject("winmgmts:"). _ ExecQuery ("select * from Win32_Process where name='explorer.exe'") Process.terminate(0) Next ②打开快捷方式的目标文件夹 LinkName = Args(0) Set Scut = WshSHell.CreateShortcut(linkname) Folder = """" & FSO.GetParentFolderName(Scut.TargetPath) & """" WshSHell.Run(Folder) ③生成当前日期文件夹 Package = WScript.Arguments.Item(0) PkgName=FSO.GetBaseName(Package) PkgPath=FSO.GetParentFolderName(Package)MyDate=Date Set NewFile = FSO.CreateFolder(FSO.BuildPath(PkgPath ,MyDate)) ④删除/新建右键新建菜单文件类型 WshSHell.RegDelete "HKCR\" & FileExName & "\ShellNew\" WshSHell.RegWrite "HKCR\" & FileExName & "\ShellNew\NullFile","","REG_SZ" ⑤显示隐藏系统文件及扩展名 本论坛就有源码...... ⑥为浏览器添加右键菜单"保存为文本" 本论坛就有源码...... ⑦添加快捷方式到任意文件夹 Set MyShortcut = WshSHell.CreateShortcut(FSO.BuildPath(LnkPathAll,PkgNameInput&".Lnk")) MyShortcut.TargetPath = (Package) MyShortcut.WorkingDirectory = (PkgPath) MyShortcut.IconLocation = (FSO.BuildPath(InsPath ,"Shell32.dll, ") & PkgIconInput-1) MyShortcut.Save ⑧生成同名文件夹 Package = WScript.Arguments.Item(0) PkgName=FSO.GetBaseName(Package) PkgPath=FSO.GetParentFolderName(Package) Set NewFile = FSO.CreateFolder(FSO.BuildPath(PkgPath ,PkgName)) ⑨生成同名文本文件并追加剪贴板内容 ShortName=FSO.BuildPath(PkgPath ,PkgName&".txt") WshSHell.Run “Cmd winclip.exe -p >> ShortName” ⑩设置/取消文件/文件夹‘系统’属性 Set FA = FSO.GetFolder(Args(0)) Set FA = FSO.GetFile(Args(0)) If FA.attributes and 4 Then FA.attributes = FA.attributes - 4 Else FA.attributes = FA.attributes + 4 End If [ Last edited by baomaboy on 2007-1-29 at 06:34 AM ] |
|
| 第6楼 baomaboy | 发表于 2007-01-29 05:59 |
| 银牌会员 发帖 554 积分 1,513 | |
|
右键菜单:
①清除系统垃圾文件 本论坛就有源码......p的,我只不过用VBS在生成p而已。 ②删除快捷方式字样和箭头 删除箭头和字样 WshSHell.RegDelete "HKEY_CLASSES_ROOT\lnkfile\IsShortcut" WshSHell.RegDelete "HKEY_CLASSES_ROOT\piffile\IsShortcut" WshSHell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\link",0,"REG_DWORD" 恢复箭头和字样 WshSHell.RegWrite "HKEY_CLASSES_ROOT\lnkfile\IsShortcut","","REG_SZ" WshSHell.RegWrite "HKEY_CLASSES_ROOT\piffile\IsShortcut","","REG_SZ" WshSHell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\link",1,"REG_DWORD"(这句中的1好像可以写成任意值,只要不是0) ③关机管理热键 ShutDown的参数我就不用写了吧, 有用的就是遍历任务计划中的关机计划: Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colScheduledJobs = objWMIService.ExecQuery ("Select * from Win32_ScheduledJob") For Each objJob in colScheduledJobs RWID=objJob.JobID RWCmd=objJob.Command RWTime=objJob.StartTime RWCmd_SD = Left(RWCmd, 8) RWTime_Q=Right(RWTime, 3) RWTime_H=Mid(RWTime,9,2) RWTime_M=Mid(RWTime,11,2) RWTime_Q2=Mid(RWTime,22,1) next 判断一下RWCmd=objJob.Command是不是ShutDown就可以了 ④打开关闭光驱 WaitTime=“5000“ Set WshShell= WScript.CreateObject("WScript.Shell") Set oWMP = CreateObject("WMPlayer.OCX.7" ) Set colCDROMs = oWMP.cdromCollection if colCDROMs.Count >= 1 then colCDROMs.Item(CStr(0)).Eject oWMP.close() End If WScript.Sleep CLng(WaitTime) Set colCDROMs = oWMP.cdromCollection if colCDROMs.Count >= 1 then colCDROMs.Item(CStr(0)).Eject oWMP.close() End If [ Last edited by baomaboy on 2007-1-29 at 06:35 AM ] |
|
| 第7楼 baomaboy | 发表于 2007-01-29 06:10 |
| 银牌会员 发帖 554 积分 1,513 | |
|
快速通道
①快速打开计算器 RegForm1="REG_SZ" RegPath7="HKEY_CLASSES_ROOT\Directory\shell\Calculator\" RegValue7="打开系统计算器" RegPath8="HKEY_CLASSES_ROOT\Directory\shell\Calculator\command\" RegValue8="calc.exe" WshSHell.RegWrite RegPath7,RegValue7,RegForm1 WshSHell.RegWrite RegPath8,RegValue8,RegForm1 ②快速进入命令提示符 RegValue2="cmd.exe /k cd %1" RegValue4="cmd.exe /k" RegPath1="HKEY_CLASSES_ROOT\Folder\shell\CommandPrompt\" RegValue1="进入命令提示符" RegForm1="REG_SZ" RegPath2="HKEY_CLASSES_ROOT\Folder\shell\CommandPrompt\command\" RegPath3="HKEY_CLASSES_ROOT\*\shell\CommandPrompt\" RegPath4="HKEY_CLASSES_ROOT\*\shell\CommandPrompt\command\" WshSHell.RegWrite RegPath1,RegValue1,RegForm1 WshSHell.RegWrite RegPath2,RegValue2,RegForm1 WshSHell.RegWrite RegPath3,RegValue1,RegForm1 WshSHell.RegWrite RegPath4,RegValue4,RegForm1 ③复制到/移动到 RegPath1="HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Copy To\" RegValue1="{C2FBB630-2971-11D1-A18C-00C04FD75D13}" RegForm1="REG_SZ" RegPath2="HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Move To\" RegValue2="{C2FBB631-2971-11D1-A18C-00C04FD75D13}" WshSHell.RegWrite RegPath1,RegValue1,RegForm1 WshSHell.RegWrite RegPath2,RegValue2,RegForm1 ④快速打开记事本 RegPath7="HKEY_CLASSES_ROOT\Directory\shell\Notepad\" RegValue7="打开记事本" RegPath8="HKEY_CLASSES_ROOT\Directory\shell\Notepad\command\" RegValue8="Notepad.exe" RegForm1="REG_SZ" WshSHell.RegWrite RegPath7,RegValue7,RegForm1 WshSHell.RegWrite RegPath8,RegValue8,RegForm1 ⑤新窗口打开文件夹 RegPath5="HKEY_CLASSES_ROOT\Directory\shell\Openw\" RegValue5="在新窗口中打开文件夹" RegPath6="HKEY_CLASSES_ROOT\Directory\shell\Openw\command\" RegValue6="explorer.exe %1" RegForm1="REG_SZ" WshSHell.RegWrite RegPath5,RegValue5,RegForm1 WshSHell.RegWrite RegPath6,RegValue6,RegForm1 ⑥注册dll文件 RegPath1="HKEY_CLASSES_ROOT\Dllfile\shell\RegActiveX\" RegValue1="注册控件(&R)" RegForm1="REG_SZ" RegPath2="HKEY_CLASSES_ROOT\Dllfile\shell\RegActiveX\command\" RegValue2="RegSvr32 "+chr(34)+"%1"+chr(34) RegPath3="HKEY_CLASSES_ROOT\Dllfile\shell\UnRegActiveX\" RegValue3="反注册控件(&U)" RegPath4="HKEY_CLASSES_ROOT\Dllfile\shell\UnRegActiveX\command\" RegValue4="RegSvr32 /u "+chr(34)+"%1"+chr(34) RegPath5="HKEY_CLASSES_ROOT\ocxfile\shell\RegActiveX\" RegValue5="注册控件(&R)" RegPath6="HKEY_CLASSES_ROOT\ocxfile\shell\RegActiveX\command\" RegValue6="RegSvr32 "+chr(34)+"%1"+chr(34) RegPath7="HKEY_CLASSES_ROOT\ocxfile\shell\UnRegActiveX\" RegValue7="反注册控件(&U)" RegPath8="HKEY_CLASSES_ROOT\ocxfile\shell\UnRegActiveX\command\" RegValue8="RegSvr32 /u "+chr(34)+"%1"+chr(34) WshSHell.RegWrite RegPath1,RegValue1,RegForm1 WshSHell.RegWrite RegPath2,RegValue2,RegForm1 WshSHell.RegWrite RegPath3,RegValue3,RegForm1 WshSHell.RegWrite RegPath4,RegValue4,RegForm1 WshSHell.RegWrite RegPath5,RegValue5,RegForm1 WshSHell.RegWrite RegPath6,RegValue6,RegForm1 WshSHell.RegWrite RegPath7,RegValue7,RegForm1 WshSHell.RegWrite RegPath8,RegValue8,RegForm1 |
|
| 第8楼 baomaboy | 发表于 2007-01-29 06:27 |
| 银牌会员 发帖 554 积分 1,513 | |
|
复制路径到剪贴板
①Dll版 看不到封装内容,我只是注册了下。 ②Excel版 Set objXL = WScript.CreateObject("Excel.Application") objXL.CutCopyMode = False objXL.WorkBooks.Add objXL.Range("A1").Value = Args(0) objXL.Range("A1").Select objXL.Range("A1").copy 过程是用创建的后台Excel进程建一个工作本,将取得的值传入单元格a1,然后拷贝,就到了剪贴板了,我只会这笨办法。 ③IE版 本论坛就有源码...... ④记事本版 Set TempFile = FSO.CreateTextFile(FSO.BuildPath(TemFilePath ,TemFileName), True)'随便设个临时路径创建个文本文件 TempFile.WriteLine(Args(0))‘将取得的值写入文本文件 TempFile.Close WshSHell.Run ("Notepad.exe " & FSO.BuildPath(TemFilePath ,TemFileName))’用记事本打开此文本文件 WshSHell.Sendkeys "^{a}^{c}"‘全选、复制的快捷键都知道吧,拷入剪贴板了, WshSHell.Sendkeys "%FX"发送推出记事本的键值 还是我的笨方法,但后台运行的记事本我无法做此操作,所以只能前台运行,你会看到记事本窗口闪一下。 ⑤Winclip版 利用了第三方工具Winclip,是从无奈何版主的sento+中移植来的。 Set TempFile = FSO.CreateTextFile(FSO.BuildPath(TemFilePath ,TemFileName), True) TempFile.WriteLine(Args(0)) TempFile.Close WshSHell.Run (FSO.BuildPath(OtherFilePath,OtherFileName) & " -c " & FSO.BuildPath(TemFilePath ,TemFileName)), vbHide 代码中的路径替换成你自己的路径才行啊! 补充一下:无奈何版主的sedto+中这个功能可以取得多个路径。如果把多个文件直接拖到我这个文件上也能取得多个路径,但是添加到注册表中通过右键菜单后就不行了,所以每次只能选择一个目标...不知道更改注册表中传递参数的命令能不能实现多参数传递,如果谁知道谢谢请指教啊。 [ Last edited by baomaboy on 2007-1-29 at 07:20 AM ] |
|
| 第9楼 electronixtar | 发表于 2007-01-29 06:31 |
| 铂金会员 发帖 2,672 积分 7,493 | |
这个建议改成 cd /d "%~f1" |
|
| 第10楼 baomaboy | 发表于 2007-01-29 06:47 |
| 银牌会员 发帖 554 积分 1,513 | |
|
electronixtar 谢谢
我的p基础都不行啊,cd /d "%~f1"不明白是什么意思, 而且我改了后虽然也能用但反而多了一句“系统找不到指定路径" 不知道是不是我的参数打错了啊,我直接复制你的替换的啊。 |
|
| 第11楼 eech | 发表于 2007-01-29 12:05 |
| 高级用户 发帖 346 积分 906 | |
|
拷.我的卡巴不停的报警
|
|
| 第12楼 electronixtar | 发表于 2007-01-30 00:40 |
| 铂金会员 发帖 2,672 积分 7,493 | |
Originally posted by baomaboy at 2007-1-29 06:47: 哦?可能是我错了,呵呵。还是改回 cd %1 吧,呵呵。 cd /d 这个 /d 参数的意思是“直接跳转到该目录”。不过貌似在右键里作用是一样的呢 |
|
| 第13楼 kich | 发表于 2007-01-30 09:02 |
| 中级用户 发帖 168 积分 397 | |
|
VBS,好啊,顶!
先下回去研究下,再出来! (网吧一族) |
|
| 第14楼 jmz573515 | 发表于 2007-02-01 04:16 |
| 银牌会员 发帖 464 积分 1,212 | |
|
不错,顶。
问一下楼主这个可执行文件是用什么软件做的? |
|
| 第15楼 baomaboy | 发表于 2007-02-01 08:38 |
| 银牌会员 发帖 554 积分 1,513 | |
Originally posted by jmz573515 at 2007-2-1 04:16: Winrar做的,右键可以用Winrar直接打开或者解压,只不过我改了下Winrar的自解压模块 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |