Vbscript 如何在其他位置创建/修改快捷方式?

Vbscript 如何在其他位置创建/修改快捷方式?,vbscript,Vbscript,问题: 当前,此VBScript可以使用2.dll中的第二个图标更改桌面上的快捷方式1.lnk(&H10&)的图标,但只能在桌面上更改(&H10&)。如何修改此脚本以将桌面和&H10&替换为以下快速启动位置-C:\Users\Username\AppData\Roaming\Microsoft\internetexplorer\Quick Launch 如果不可能,是否有其他脚本可用于在单击VBS脚本时修改图标?另外,是否可以改为在任务栏上=C:\Users\Username\AppData\R

问题

当前,此VBScript可以使用
2.dll
中的第二个图标更改
桌面上的快捷方式
1.lnk
&H10&
)的图标,但只能在
桌面上更改(
&H10&
)。如何修改此脚本以将
桌面
&H10&
替换为以下快速启动位置-
C:\Users\Username\AppData\Roaming\Microsoft\internetexplorer\Quick Launch

如果不可能,是否有其他脚本可用于在单击VBS脚本时修改图标?另外,是否可以改为在任务栏上=
C:\Users\Username\AppData\Roaming\Microsoft\internetexplorer\Quick Launch\User pinted\task

VBScript如下所示:

Const DESKTOP = &H10&

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(DESKTOP)
Set objFolderItem = objFolder.ParseName("1.lnk")
Set objShortcut = objFolderItem.GetLink
objShortcut.SetIconLocation "C:\Users\Username\Desktop\2.dll", 1
objShortcut.Save
顺便说一句,如果有人想知道,我用它来制作带有不同.ico图标文件的.dll文件。在ICOFX2中,我只需按下工具、图标资源编辑器、新建、右键单击添加,然后添加.ico文件,最后保存.icl文件。然后,我在WinRAR中将.icl文件重命名为.dll文件

附言2我还包括了一个单独的问题2和下面的答案,解决了任务栏问题

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace("C:\")
Set objFolderItem = objFolder.ParseName("autoexec.bat")
msgbox objFolderItem
名称空间方法


为指定文件夹创建并返回文件夹对象

语法

object.NameSpace vDir
参数说明

对象必填项。计算结果为外壳对象的对象表达式

vDir必填项。指定要为其创建文件夹对象的文件夹。这可以是指定文件夹路径的字符串,也可以是ShellSpecialFolderConstants值之一


回答

正如@Lankymart所建议的,我正在发布Yahoo Answers*用户Me2的答案:

根据Yahoo Answers*用户Me2的说法,VBScript也可以编写如下:

Const DESKTOP = &H10&

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(DESKTOP)
Set objFolderItem = objFolder.ParseName("1.lnk")
Set objShortcut = objFolderItem.GetLink
objShortcut.SetIconLocation "C:\Users\Username\Desktop\2.dll", 1
objShortcut.Save
以下是Yahoo Answers用户Me2的原始答案来源。问题2

我早些时候把这个问题发到了@Freddie和@Lankymart,但我找到了答案,我想与大家分享:

Freddie或@Lankymart,你们知道如何编辑提供的2个 上面的答案使任务栏上的图标位于 C:\Users\Username\AppData\Roaming\Microsoft\Internet Explorer\Quick 启动\用户锁定\任务栏也得到更新,就像在Quick中一样 发射现在,我更新了Yahoo Answers用户Me2代码,包括 “\Microsoft\Internet Explorer\Quick Launch\User pinted\TaskBar”但是 只需更新中的图标 C:\Users\Username\AppData\Roaming\Microsoft\Internet Explorer\Quick 启动\用户锁定\任务栏文件夹,不在实际任务栏上。任务栏 拒绝更新

对问题2的回答2

好的,这是我的第二个问题的答案:在下面的问题中,一位名叫Elmo的超级用户建议在Windows 10中运行以下命令
ie4uinit.exe-show
,以刷新任务栏图标的缓存。对于旧版本的Windows,请使用
ie4uinit.exe-ClearIconCache

我创建了以下批处理文件:

devmanview.exe /enable "USB\VID_012A&PID_034B\56789"
@echo off
color 0A
echo dddddd---ddd--dd-dddddd
echo dddddd-d-ddd-d-d-dddddd
echo dddddd---ddd-dd--dddddd
echo _______________________
echo ADAPTER = ON
pushd "C:\Users\Username\Desktop"
cscript X.vbs
ie4uinit.exe -show
timeout 4 > null
说明

此批处理文件允许在按下指示以下适配器是打开还是关闭的快捷方式图标时更改
任务栏上的图标。我使用命令在这个批处理文件下运行了名为X.vbs的VBScript(Yahoo Answers用户Me2之前帮助过它)

pushd "C:\Users\Username\Desktop"
cscript X.vbs
我还在
@echo off
后面添加了一个小“ANSI绘图”,以绿色表示适配器已打开

ie4uinit.exe-show
允许在
任务栏中刷新图标的快捷方式,就像使用VBScript更改
QuickLaunch
快捷方式一样


我使用devmanview.exe在设备管理器下启用/禁用适配器。您可以从下载devmanview.exe。

谢谢@Freddie的回答,但我已经通过遵循Yahoo Answers用户Me2提供的内容解决了这个问题。我建议用户在Stack Overflow上发布他们的答案,但现在,这里是他们精彩答案的链接:[link]()发布答案并在答案中注明原始来源,这是完全可以接受的方法。请将答案作为答案发布,而不是作为问题的编辑,这样就可以对它进行投票,您可以接受它作为问题的答案。现在看起来很好。如果您要引用某个内容,请提供指向原始来源的链接。如果它不是引用,为什么要将其放在引用块中?这里唯一有过错的人是你,没有必要对我指手画脚,那些评论会被社区迅速处理。这是怎么回事?
pushd "C:\Users\Username\Desktop"
cscript X.vbs