|
tireless
银牌会员
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『楼 主』:
如何添加个“发送到桌面快捷方式”的右键
系统里的“发送到”实在让人受不了,要几秒才显示出发送到菜单
想在右键加个菜单---发送到桌面快捷方式
· 如果是文件,创建的快捷方式最好不带扩展名
· 能针对多个文件
· 最好不要闪cmd窗口
· 利用其他工具也行,如shortcut、nircmd
|
|
2008-4-14 21:23 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
2 楼』:
DesktopLink.vbs---By Slore
引用的就不算我说话了~郁闷~~~打空格也不行。。。
Quote: |
'-----------------DesktopLink.vbs---By Slore At 2008-04-15------------------
'
'脚本说明:
'放到任意目录,双击即可安装/卸载。
'欢迎您的测试以及给我提供宝贵意见。
'如果你喜欢,请随意转载,但请勿随意修改。
' http://bbs.cn-dos.net
'
'意见反馈:1.论坛消息
' 2.email:slorelee@yahoo.com.cn
'---------------------------------------------------------转载请保留我:)----
Dim strArg,strDesktop,strBsname
Set objShell = WScript.CreateObject("WScript.Shell")
ArgCount = wscript.Arguments.Count
If ArgCount = 0 Then
strArg = "在右键添加一个发送到桌面快捷方式选项:" & vbCrLf
ret = MsgBox( strArg & "是[安装] 否[卸载] 取消[终止]",67,"By Slore")
strArg = "HKCR\AllFilesystemObjects\Shell\Slore\"
If ret = 6 Then
strCommand = "Wscript.exe """ & WScript.ScriptFullName & """ ""%1"""
objShell.RegWrite strArg,"桌面快捷方式(&L)"
objShell.RegWrite strArg & "Command\", strCommand
MsgBox "菜单已添加成功!..o(∩_∩)o..",64,"By Slore"
ElseIf ret = 7 Then
objShell.RegDelete strArg & "Command\"
objShell.RegDelete strArg
MsgBox "该菜单已删除!",64,"By Slore"
End If
wscript.Quit
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
strDesktop = objShell.SpecialFolders("Desktop")
For i = 0 To ArgCount - 1
strArg = wscript.arguments.item(i)
strBsname = objFSO.GetBaseName(strArg)
strTarget = strDesktop & "\" & strBsname
If Not CST(strTarget,".lnk") Then CST strTarget,".pif"
Next
Function CST(strPath,strExt)
n = 1:CST = True
on Error Resume Next
Do While objFSO.FileExists(strPath & strExt)
n = n + 1
strTarget = strDesktop & "\" & strBsname & " (" & n & ")"
Loop
Set oShellLink = objShell.CreateShortcut(strPath & ".lnk")
oShellLink.TargetPath = strArg
oShellLink.WorkingDirectory = objFSO.GetParentFolderName(strArg)
oShellLink.Save
If Err Then Err.Clear:CST = False
End Function
Set oShellLink = Nothing
Set objShell = Nothing
Set objFSO = Nothing
|
|
|
|
2008-4-15 03:07 |
|
|
tireless
银牌会员
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
3 楼』:
谢谢slore,很不错。就是创建多个快捷方式有点慢,能像系统的那样快就好了
|
|
2008-4-15 08:11 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
4 楼』:
2 楼的可以在选定多个文件后创建多个快捷方式
[ Last edited by zh159 on 2008-4-15 at 09:53 AM ]
|
|
|
2008-4-15 09:48 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
5 楼』:
Quote: | Originally posted by tireless at 2008-4-15 08:11:
谢谢slore,很不错。就是创建多个快捷方式有点慢,能像系统的那样快就好了 |
|
已经尽量了。但是知识还是不够。。。
调用系统的那个DESKLINK,但是是 CLSID那种……
这个其实选多个,也没有进循环。。。
是每个文件调用一次DESKLINK.VBS,所以……选的越多越卡,会一下运行n个wscript...
所以如果是多个还是SENDTO下吧
PS:我这里的SENDTO显示很快呀~~~你是不是里面项目太多了?
|
|
2008-4-15 12:48 |
|
|
tireless
银牌会员
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by slore at 2008-4-14 04:48 PM:
PS:我这里的SENDTO显示很快呀~~~你是不是里面项目太多了? |
|
不,即使只留下一个“桌面快捷方式”,那菜单的显示速度也让我很郁闷。。。
用shortcut或nircmd应该比较快,怎么用?
|
|
2008-4-15 20:35 |
|
|
sylovanas
初级用户
积分 107
发帖 42
注册 2007-9-3
状态 离线
|
『第
7 楼』:
1.bat内容
@echo off
if exist %temp%\1.txt del 1.txt /q >nul 2>nul
for %%a in (%*) do echo shortcut "%%~a" "~$folder.desktop$" "%%~na">>%Temp%\1.txt
nircmd script %temp%\1.txt
加入右键选单的内容
nircmd execmd 1.bat %*
[ Last edited by sylovanas on 2008-4-15 at 09:00 PM ]
|
|
2008-4-15 20:57 |
|