[ Last edited by baomaboy on 2007-1-29 at 03:43 AM ]作者: electronixtar 时间: 2007-1-29 04:55 呵呵,我建议把核心代码直接贴上来,这样大家好讨论。比如说弹光驱的那个使用了 mplayer.ocx 的一个 eject 方法作者: baomaboy 时间: 2007-1-29 05:25 呵呵,
右键菜单:
①重启资源管理器
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 ]作者: baomaboy 时间: 2007-1-29 05:59 右键菜单:
①清除系统垃圾文件
本论坛就有源码......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