可固定于任务栏并运行的“显示桌面”图标BAT代码
本帖最后由 cclgoo 于 2022-2-26 00:08 编辑Command=2
IconFile=explorer.exe,3
Command=ToggleDesktop想在任务栏建立一个“显示桌面”的图标,网上的办法一般都是将以上代码另存为*.scf文件,但,却没法固定在任务栏,并且想用BAT什么命令代码间接的运行*.scf文件文件也没办法做到,现分享个BAT代码,可转EXE固定于任务栏,具体查看附件,附件已带所有文件,包括几种形式已转好的EXE等所有文件(单BAT大小1K即可,转的EXE小的95K即可)
windows的任务栏上本身就有“桌面”、“任务视图”两个图标,直接打开不是就可以用了吗?干嘛还要再这样折腾。 如果是想把“我的电脑”图标放到任务栏,可以先建一个“我的电脑”快捷方式,然后快捷方式就可以直接放任务栏。 lhc0688 发表于 2022-2-26 10:26
windows的任务栏上本身就有“桌面”、“任务视图”两个图标,直接打开不是就可以用了吗?干嘛还要再这样折 ...
去PE或精简掉的地方玩下,当然,我个人一直W&D,只是作为技术与探讨,同时是因为身边有特殊情况特殊需要 工具栏快速启动桌面图标 棒棒哒! 本帖最后由 aoyabing 于 2022-2-26 18:51 编辑
鼠标指向任务栏,右键-工具栏-新建工具栏,输入%userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch ,点击选择文件夹。然后从任务栏右侧拖到右侧,右键去显示文本、显示标题的勾选。建好后,可以将桌面上的我的电脑、控制面板等图标拖到这里。
如果重启后有时正常,有时会消失,则win 设置 - - 设备 - - 输入 - - 高级键盘设置 - - 不要勾选 <使用桌面语言栏(如果可用 )> ,或在右侧输入法处右键语言首选项-高级设置-不要勾选 <使用桌面语言栏(如果可用 )>
新建文本文件,将下面内容复制粘贴进去,保存为【添加显示桌面.cmd】文件,执行后可在任务栏固定显示桌面按钮。
@echo off
:QuanXian
::为当前批处理脚本获取管理员权限。
1>nul 2>nul reg query HKU\S-1-5-19
if %errorlevel%==0 goto :Admin
pushd %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
:Admin
::切换当前目录至批处理文件所在位置。
cd /d %~dp0
::开启延迟环境变量扩展。
setlocal EnableDelayedExpansion
::参数变量初始化。
::⑴固定到任务栏的【显示桌面】功能文件的文件名(可根据个人习惯修改)。
set FileName=显示桌面
::⑵固定到任务栏的【显示桌面】功能文件的位置(可根据个人习惯修改)。
set FilePath=%windir%
::⑶固定到任务栏的快捷方式存储位置(操作系统的默认设置一般不做修改)。
set PinPath=%UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
::⑷根据前面三项变量,设置相关变量。
set ExeFile=%FilePath%\%FileName%.exe
set ScfFile=%FilePath%\%FileName%.scf
set ShortcutName=%FileName%.lnk
set ShortcutFile=%PinPath%\%ShortcutName%
:ZhuJieMian
::清理屏幕。
cls
::设置窗口尺寸【80列20行】。
mode con cols=80 lines=16
::设置背景颜色【0黑色】、文字颜色【7白色】。
color 07
::设置窗口标题栏显示内容。
title 【脚本制作人:超能虎爸】
::显示主菜单选项。
echo.
echo ************************************************************
echo * 任务栏【显示桌面】图标添加脚本 *
echo * 【适用系统:windows 7 及以上版本】 *
echo ************************************************************
echo.
echo 本脚本添加【显示桌面】按钮过程中,会在指定位置的覆盖生成相
echo 应文件。根据现有设置,下述文件若已存在,则会被覆盖:
echo 〖1〗[%ExeFile%]
echo 〖2〗[%ScfFile%]
echo 是否继续执行脚本?【Y/N】
echo.
echo ==================================================================
echo.
choice /c yn /n /m "> 输入【Y】执行脚本,输入【N】退出操作:"
::根据选择结果【进入执行环节】或【退出脚本】。
if %errorlevel%==1 (goto :JianCha)
if %errorlevel%==2 (exit)
:JianCha
::检测是否存在同名快捷方式
if not exist "%ShortcutFile%" goto :ZhiXing
cls
echo.
echo ==================================================================
echo 检测到系统的〖任务栏固定程序〗保存位置〖TaskBar〗目录下存
echo 在同名快捷方式,是否删除该快捷方式后,再为添加〖显示桌面〗
echo 的对应快捷方式?【Y/N】
echo ==================================================================
echo.
echo 【Y】删除后继续添加(是无用残留链接无需保留)。
echo 【N】更改设定再添加(是现有的固定项目的链接)。
echo.
choice /c yn /n /m "> 请选择要进行的操作[Y/N]:"
if %errorlevel%==1 (del /f /s /q "%ShortcutFile%" >nul)
if %errorlevel%==2 (goto :ZhuJieMian)
:ZhiXing
::生成一个用于固定目标的【显示桌面.exe】文件。
echo. >"%ExeFile%"
::将【显示桌面.exe】固定到任务栏。
::增加固定到任务栏的临时右键菜单。
mshta VBScript:Execute("Set ObjShell=CreateObject(""WScript.Shell""):ObjShell.RegWrite ""HKEY_CURRENT_USER\Software\Classes\*\shell\{:}\ExplorerCommandHandler"", ObjShell.RegRead(""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Windows.taskbarpin\ExplorerCommandHandler""), ""REG_SZ"":close")
::用增加临时右键菜单将【显示桌面.exe】固定到任务栏。
mshta VBScript:Execute("Set ObjApp=CreateObject(""Shell.Application""):Set ObjFolder=ObjApp.Namespace(""%FilePath%\""):Set ObjFile=ObjFolder.ParseName(""%FileName%.exe""):ObjFile.InvokeVerb(""{:}""):close")
::删除增加的临时右键菜单。
mshta VBScript:Execute("Set ObjShell=CreateObject(""WScript.Shell""):ObjShell.RegDelete ""HKEY_CURRENT_USER\Software\Classes\*\shell\{:}\"":close")
::生成【显示桌面.scf】文件。
del /f /s /q "%ExeFile%" >nul
echo >"%ScfFile%"
echo Command=2 >>"%ScfFile%"
echo IconFile=explorer.exe,3 >>"%ScfFile%"
echo. >>"%ScfFile%"
echo >>"%ScfFile%"
echo Command=ToggleDesktop >>"%ScfFile%"
::修改之前生成的快捷方式到正确目标。
cd /d "%PinPath%"
mshta VBScript:Execute("Set ObjShell=CreateObject(""WScript.Shell""):Set Link=ObjShell.CreateShortcut(""%ShortcutName%""):Link.TargetPath=""%ScfFile%"":Link.WorkingDirectory=""%FilePath%"":Link.Save:close"^)
cd /d %~dp0
::提示并重启资源管理器进程使得修改操作生效
cls
echo.
echo ==================================================================
echo 本脚本添加〖显示桌面〗按钮后,为使图标显示正常,会重启资源
echo 添加〖显示桌面〗操作已完成,为使其图标显示正常,需要重启资
echo 源管理器进程,请注意保存文件以防造成损失。
echo (若不重启进程,之后自行注销或重启系统也可达到相同效果)
echo ==================================================================
echo.
echo 【Y】立即重启资源管理器进程。
echo 【N】暂不重启资源管理器进程。
echo.
choice /c yn /n /m "> 请选择要进行的操作[Y/N]:"
if %errorlevel%==2 (goto :ZhuJieMian)
taskkill /f /im explorer.exe
start explorer.exe
exit 针对*.scf无固定到任务栏的问题,可以新建一个文本文档写入代码,然后改扩展名为exe,固定到任务栏后再改扩展名为scf(任务栏图标的目标文件也要同时修改) 进来看看这个帖子,学到了很多知识啊 本帖最后由 vaf 于 2022-11-2 22:47 编辑
将批处理的快捷方式放到任务栏; 得看什么系统.
我做过实验, 分 x86 和 x64 系统.
x64 系统不难做到; 但 x86 系统却做不到.
大佬们注意到这个现象了吗. 我想实现 在任务栏上依序排上那些我想要的程序快捷方式。 先学习一下你这个脚本功能 回头试试看怎么样 我试了没成功加上 还没明白有啥用处 牛掰!!! 谢谢分享,好像PECMD更善长搞这种东东 谢谢分享 谢谢!!! 对了!!!!!!!!! ldtwh01 发表于 2022-3-3 10:37
新建文本文件,将下面内容复制粘贴进去,保存为【添加显示桌面.cmd】文件,执行后可在任务栏固定显示桌面按 ...
厉害啊厉害 感谢大佬的分享
页:
[1]