cclgoo 发表于 2022-2-26 00:07:07

可固定于任务栏并运行的“显示桌面”图标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即可)

lhc0688 发表于 2022-2-26 10:26:17

windows的任务栏上本身就有“桌面”、“任务视图”两个图标,直接打开不是就可以用了吗?干嘛还要再这样折腾。

lhc0688 发表于 2022-2-26 10:27:59

如果是想把“我的电脑”图标放到任务栏,可以先建一个“我的电脑”快捷方式,然后快捷方式就可以直接放任务栏。

cclgoo 发表于 2022-2-26 10:42:45

lhc0688 发表于 2022-2-26 10:26
windows的任务栏上本身就有“桌面”、“任务视图”两个图标,直接打开不是就可以用了吗?干嘛还要再这样折 ...

去PE或精简掉的地方玩下,当然,我个人一直W&D,只是作为技术与探讨,同时是因为身边有特殊情况特殊需要

zag0699 发表于 2022-2-26 17:03:11

工具栏快速启动桌面图标

xt030 发表于 2022-2-26 18:01:29

棒棒哒!

aoyabing 发表于 2022-2-26 18:39:40

本帖最后由 aoyabing 于 2022-2-26 18:51 编辑

鼠标指向任务栏,右键-工具栏-新建工具栏,输入%userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch ,点击选择文件夹。然后从任务栏右侧拖到右侧,右键去显示文本、显示标题的勾选。建好后,可以将桌面上的我的电脑、控制面板等图标拖到这里。

如果重启后有时正常,有时会消失,则win 设置 - - 设备 - - 输入 - - 高级键盘设置 - - 不要勾选 <使用桌面语言栏(如果可用 )>   ,或在右侧输入法处右键语言首选项-高级设置-不要勾选 <使用桌面语言栏(如果可用 )>






ldtwh01 发表于 2022-3-3 10:37:45

新建文本文件,将下面内容复制粘贴进去,保存为【添加显示桌面.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

ldtwh01 发表于 2022-10-31 20:11:21

针对*.scf无固定到任务栏的问题,可以新建一个文本文档写入代码,然后改扩展名为exe,固定到任务栏后再改扩展名为scf(任务栏图标的目标文件也要同时修改)

ZMLoveLH 发表于 2022-11-2 21:03:59

进来看看这个帖子,学到了很多知识啊

vaf 发表于 2022-11-2 22:36:24

本帖最后由 vaf 于 2022-11-2 22:47 编辑

将批处理的快捷方式放到任务栏; 得看什么系统.
我做过实验, 分 x86 和 x64 系统.

x64 系统不难做到; 但 x86 系统却做不到.

大佬们注意到这个现象了吗.

a583091790 发表于 2022-11-13 19:25:48

我想实现 在任务栏上依序排上那些我想要的程序快捷方式。 先学习一下你这个脚本功能

rocjoe777 发表于 2022-11-19 14:47:52

回头试试看怎么样

a583091790 发表于 2022-11-19 17:53:55

我试了没成功加上

2012myjoys 发表于 2022-11-22 13:52:38

还没明白有啥用处

klygxx 发表于 2022-11-22 14:01:37

牛掰!!!

conlin888 发表于 2022-11-23 18:47:09

谢谢分享,好像PECMD更善长搞这种东东

laonat 发表于 2022-12-1 18:26:29

谢谢分享

Elewong 发表于 2022-12-21 22:56:20

谢谢!!!

nowayer 发表于 2023-10-20 20:38:00

rbwrbw 发表于 2023-10-21 08:15:05

对了!!!!!!!!!

2012myjoys 发表于 2023-10-26 18:47:41

ldtwh01 发表于 2022-3-3 10:37
新建文本文件,将下面内容复制粘贴进去,保存为【添加显示桌面.cmd】文件,执行后可在任务栏固定显示桌面按 ...

厉害啊厉害

286000142 发表于 2023-10-26 19:14:51

感谢大佬的分享
页: [1]
查看完整版本: 可固定于任务栏并运行的“显示桌面”图标BAT代码