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

时间:2017-01-27 07:39:23

标签: vbscript

问题

目前,此VBScript可以使用1.lnk中的第二个图标更改DESKTOP&H10&)上的快捷方式2.dll的图标,但仅限于DESKTOP&H10&)。如何修改此脚本以使用以下快速启动位置DESKTOP替换&H10&C:\Users\Username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch

如果无法做到这一点,是否还有其他脚本可用于在单击VBS脚本时修改图标?此外,是否可以在任务栏上使用= C:\Users\Username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

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

P.S。如果有人想知道,我使用IcoFX 2来制作带有不同 .ico 图标文件的 .dll 文件。在IcoFX 2中,我只按了Tools,然后是Icon Resource Editor,然后是New,然后我右键单击Add,然后我添加了 .ico 文件,最后我保存了我的 .icl < / em>文件。然后我通过在WinRAR中重命名将 .icl 文件更改为 .dll 文件。

P.S.#2我还包括一个单独的问题#2,下面的答案解决了TaskBar问题。

3 个答案:

答案 0 :(得分:1)

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace("C:\")
Set objFolderItem = objFolder.ParseName("autoexec.bat")
msgbox objFolderItem
  

NameSpace方法

           

创建并返回指定文件夹的Folder对象。

     

<强>语法

object.NameSpace vDir
     

参数说明

     

对象必填。一个对象表达式,其值为Shell对象。

     

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

答案 1 :(得分:1)

<强> ANSWER

就像@Lankymart建议的那样,我发布了Yahoo Answers *用户的回答,Me2:

Set objShell = CreateObject("Shell.Application")
Set wsSh = CreateObject("WScript.Shell")

location = wsSh.SpecialFolders.Item("AppData") & "\Microsoft\Internet Explorer\Quick Launch"
Set objFolder = objShell.NameSpace(location)
Set objFolderItem = objFolder.ParseName("1.lnk")
Set objShortcut = objFolderItem.GetLink
objShortcut.SetIconLocation "C:\Users\Username\Desktop\2.dll", 1
objShortcut.Save

根据Yahoo Answers *用户Me2,VBScript也可以写成如下:

{{1}}

以下是Yahoo Answers用户Me2原始答案来源的BT.601

答案 2 :(得分:0)

问题#2

我之前向@Freddie和@Lankymart发布了这个问题,但我找到了答案,我想与大家分享:

  

Freddie或@Lankymart,你们中的任何人都知道如何编辑提供的2   上面的答案,以便TaskBar上的图标,位于   C:\ Users \ Username \ AppData \ Roaming \ Microsoft \ Internet Explorer \ Quick   Launch \ User Pinned \ TaskBar也会更新,就像在Quick中一样   发射?目前,我更新了Yahoo Answers用户Me2代码以包含   &#34; \ Microsoft \ Internet Explorer \ Quick Launch \ User Pinned \ TaskBar&#34;但它   只需更新中的图标   C:\ Users \ Username \ AppData \ Roaming \ Microsoft \ Internet Explorer \ Quick   启动\ User Pinned \ TaskBar文件夹,而不是实际的TaskBar。任务栏   拒绝更新。

问题#2问题#2

好的,这是我的第二个问题的答案:在下面的link中,一个名为Elmo的超级用户建议在Windows 10中运行以下命令ie4uinit.exe -show来刷新缓存TaskBar的图标。对于旧版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

<强> 说明

此批处理文件允许在我按下TaskBar时更改我的快捷方式图标,指示以下适配器是打开还是关闭。我使用命令

运行了这个批处理文件下名为 X.vbs (Yahoo Answers用户Me2帮助过的)的VBScript
pushd "C:\Users\Username\Desktop"
cscript X.vbs

我还包括了一些&#34; ANSI绘图&#34;在@echo off之后以绿色表示适配器已打开。

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

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