gpt4 book ai didi

batch-file - 使用 VBScript 或批处理更改快捷方式图标

转载 作者:行者123 更新时间:2023-12-04 17:59:51 24 4
gpt4 key购买 nike

我正在尝试创建一个批处理文件,它将桌面快捷方式图标从 icon0 切换到 icon1,然后在第二次执行时再次返回。

桌面快捷方式指向 Desktop/toggleicon.BAT 中的批处理文件(批处理文件位于同一目录中),但我在第一次执行时更改图标的第一阶段遇到了麻烦。

这是我在批处理文件中的代码:

Const DESKTOP = &H10&
Set objShell = CreateObject(“Shell.Application”)
Set objFolder = objShell.NameSpace(DESKTOP)
Set objFolderItem = objFolder.ParseName(“Shortcut.lnk”)
Set objShortcut = objFolderItem.GetLink
objShortcut.SetIconLocation “C:\Windows\System32\SHELL32.dll”, 13
objShortcut.Save

我想我只是在谷歌搜索错误的东西。

如果您知道整个代码,那就太棒了。如果您可以帮助当前代码来更改图标,那也很好,当然我会标记为解决方案等。

最佳答案

这是一个批处理代码,它生成一个 vbscript 以在您的桌面上创建一个带有图标的快捷方式,当您像这样调用此子时可以随时更改该图标:

Call:CreateShortcut "%windir%\system32\calc.exe" "Calculatrice" "Winver.exe,0"

或:

Call:CreateShortcut "%windir%\system32\calc.exe" "Calculatrice" "%Windir%\System32\moricons.dll,6"

要测试的 Whole Batch 脚本:

@echo off
Title Create a shortcut on your Desktop with icon that can be changed any time by Hackoo
mode con cols=75 lines=3 & color 9B
Call:CreateShortcut "%windir%\system32\calc.exe" "Calculatrice" "Winver.exe,0"
echo(
echo Hit any key to change the icon shortcut....
pause>nul
Call:CreateShortcut "%windir%\system32\calc.exe" "Calculatrice" "%Windir%\System32\moricons.dll,6"
cls & color 9E
echo(
echo The icon shortcut has been changed...
echo Hit any key to change the icon shortcut....
pause>nul
Call:CreateShortcut "%windir%\system32\calc.exe" "Calculatrice" "%Windir%\System32\SHELL32.dll,13"
cls & color 9D
echo(
echo The icon shortcut has been changed...
echo Hit any key to change the icon shortcut....
pause>nul
Call:CreateShortcut "%windir%\system32\calc.exe" "Calculatrice" "%Windir%\System32\SHELL32.dll,14"
cls & color 9F
echo(
echo The icon shortcut has been changed...
pause>nul
Exit /b
::****************************************************************************************************
:CreateShortcut <ApplicationPath> <ShortcutName> <Icon>
(
echo Call Shortcut("%~1","%~2","%~3"^)
echo ^'**********************************************************************************************^)
echo Sub Shortcut(ApplicationPath,Name,Icon^)
echo Dim objShell,DesktopPath,objShortCut,MyTab
echo Set objShell = CreateObject("WScript.Shell"^)
echo MyTab = Split^(ApplicationPath,"\"^)
echo If Name = "" Then
echo Name = MyTab(UBound^(MyTab^)^)
echo End if
echo DesktopPath = objShell.SpecialFolders("Desktop"^)
echo Set objShortCut = objShell.CreateShortcut(DesktopPath ^& "\" ^& Name ^& ".lnk"^)
echo objShortCut.TargetPath = Dblquote^(ApplicationPath^)
echo ObjShortCut.IconLocation = Icon
echo objShortCut.Save
echo End Sub
echo ^'**********************************************************************************************
echo ^'Fonction pour ajouter les doubles quotes dans une variable
echo Function DblQuote(Str^)
echo DblQuote = Chr(34^) ^& Str ^& Chr^(34^)
echo End Function
echo ^'**********************************************************************************************
)> Shortcutme.vbs
Start /wait Shortcutme.vbs
Del Shortcutme.vbs
Exit /b
::****************************************************************************************************

关于batch-file - 使用 VBScript 或批处理更改快捷方式图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36854003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com