========================================================
PinTo 6.3.0.0 基本用法
在 Windows PE 中把程序固定到任务栏 / 开始屏幕
========================================================
一、文件说明
PinTo.exe 主程序
PinToExt.dll 右键菜单扩展(必须与 PinTo.exe 放在同一目录)
两个文件成对绑定分发:DLL 只接受与它配套的那个 exe,反过来 exe 也会校验
DLL。
二、命令格式
PinTo -taskbar <目标> [显示名] [图标]
PinTo -unpin-taskbar <目标> [显示名]
PinTo -startmenu <目标> [显示名] [图标]
PinTo -unpin-startmenu <目标> [显示名]
PinTo -repair-startmenu
PinTo -help
· 目标之后、下一个以 “-” 开头的参数之前的连续参数会被自动分类:
– 形如 “xxx.ico”、”xxx,数字”、”xxx#数字” -> 当作图标
– 其余参数按空格合并 -> 当作显示名
· 显示名带空格时用引号把整段括起来。
· -log / -icon / -lang / -tbver 可以放在命令行任意位置。
三、各命令说明
1) -taskbar <目标> [显示名] [图标]
固定到任务栏。写 UserPinned\TaskBar\<显示名>.lnk + Taskband\Favorites,
随后发出刷新通知,任务栏即时重读,不需要重启 explorer。
例:
PinTo -taskbar explorer “Windows 资源管理器”
PinTo -taskbar SnippingTool
PinTo -taskbar “%ProgramFiles%\SOFT\orderdrv\orderdrv.cmd” “整理盘符” “%ProgramFiles%\SOFT\orderdrv\orderdrv.ico”
2) -unpin-taskbar <目标> [显示名]
从任务栏取消固定(按目标路径匹配,找不到再按显示名匹配)。
3) -startmenu <目标> [显示名] [图标]
固定到开始菜单。开始菜单固定项在宿主里是两处数据,本命令会把它们写全:
%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu\<显示名>.lnk
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 的 Favorites 登记项
· .exe 等程序目标:交 explorer 内的扩展做原生固定,开始菜单即时可见。
· .bat / .cmd / .vbs / .js / .wsf / .hta / .ps1 目标:直接写上面两处数据
再发刷新通知。StartIsBack / StartAllBack 对脚本类快捷方式的原生固定
不完整(只留登记、不落 .lnk,会得到一个没有图标、点不开的空壳项),
所以这类目标由本程序自己写全。
例:
PinTo -startmenu cmd.exe “命令行工具” “%ProgramFiles%\SOFT\orderdrv\cmd.ico”
PinTo -startmenu “%SystemRoot%\System32\loadShell.bat” “刷新explorer” shell32.dll,238
4) -unpin-startmenu <目标> [显示名]
从开始菜单取消固定:删固定区 .lnk,并清掉 StartPage2\Favorites 里对应的登记。
5) -repair-startmenu
自检修复:遍历固定区的每个 .lnk,缺少 StartPage2 登记的补写一条。
只做加法(不删、不改已有登记),可以反复执行。
6) -help
弹出一个提示框(本程序是窗口子系统,没有控制台输出)。
四、目标写法
· 可执行文件、快捷方式(.lnk)、脚本(.bat/.cmd 等)都可以。
· 省略路径时自动到系统目录里找:
explorer / SnippingTool.exe -> %SystemRoot%\ 或 %SystemRoot%\System32\
· 省略 .exe 时自动补:
PinTo -taskbar SnippingTool
· 支持环境变量,脚本里写 %SystemRoot%、%ProgramFiles% 即可。
· 目标不存在时直接失败(退出码 1),不会写入任何数据。
五、显示名与图标
· 显示名缺省 = 目标文件名去掉扩展名。
· 图标三种写法等价(”#” 与 “,” 完全一样):
“X:\icons\app.ico” .ico 文件,索引用 0
“%ProgramFiles%\app.exe,3” 文件 + 逗号 + 索引
shell32.dll#238 文件 + 井号 + 索引
也可以用 -icon <图标> 单独指定,效果相同。
· 图标只写文件名(如 shell32.dll)时,程序会自动补全成
%SystemRoot%\System32\shell32.dll 这类完整路径。相对路径写进 .lnk 后会被
资源管理器按它自己的当前目录解析,容易变成空白图标。
· 省略图标 = 使用目标程序自身的图标。
· 图标索引在该系统 DLL 里不存在、或图标文件路径无效时,该项显示为空白图标,
程序不会报错 —— 换一个索引或改用 .ico 文件即可。
六、日志、语言与退出码
· 默认不写任何文件。需要排查时加 -log <文件>(UTF-8 追加):
PinTo -startmenu … -log X:\PinTo.log
· 界面语言默认跟随系统 UI 语言(简体 / 繁体 / English / 한국어),
可用 -lang 强制指定:-lang zh-CN | zh-TW | en | ko(也接受 cn/tw/hk/kr 等别名)。
· -tbver 0xNNNN 用于诊断:强制按指定系统 build 号选择分支,普通使用不要加。
· 退出码:
0 = 成功或已处于目标状态
1 = 失败(目标不存在、写固定区/注册表失败、参数无法识别)
· 授权版在未授权的 PE 上会静默退出(不写数据、不注册菜单),不要误判为故障。
七、右键菜单(自动注册)
除 -help 外,任何一次运行都会顺带注册/更新资源管理器的右键菜单
“固定到任务栏 / 从任务栏取消固定”和”固定到开始屏幕 / 从开始屏幕取消固定”,
不需要额外命令;重复运行是幂等的。
八、PE 启动脚本示例(disposition\Post 下每行一条)
//固定到任务栏(支持自定义图标或调用系统文件图标)
PinTo -taskbar explorer “Windows 资源管理器”
PinTo -taskbar SnippingTool
PinTo -taskbar “%ProgramFiles%\SOFT\orderdrv\orderdrv.cmd” “整理盘符” “%ProgramFiles%\SOFT\orderdrv\orderdrv.ico”
//固定到开始屏幕(支持自定义图标或调用系统文件图标)
PinTo -startmenu cmd.exe “命令行工具” “%ProgramFiles%\SOFT\orderdrv\cmd.ico”
PinTo -startmenu “%ProgramFiles%\SOFT\Driver\DriverInstaller.exe” “设备驱动”
或者:PinTo -startmenu “%ProgramFiles%\SOFT\Driver\DriverInstaller.exe” 设备驱动 —– 自定义名无需双引号
PinTo -startmenu “%ProgramFiles%\ExtTools\网络工具\访问共享.bat” SHELL32.dll,158
PinTo -startmenu “%ProgramFiles%\ExtTools\网络工具\访问共享.bat” “访问共享” imageres.dll,169
PinTo -startmenu “X:\windows\System32\loadShell.bat” “刷新explorer” shell32.dll,238
或者:PinTo -startmenu loadShell.bat 刷新explorer shell32.dll#238
九、常见问题
问:开始菜单里多出一个”没有图标、点了没反应”的项?
答:那是宿主(StartIsBack / StartAllBack)只写了登记、没把 .lnk 放进固定区
留下的空壳项。用 -unpin-startmenu <目标> 清掉,再用当前版本重新固定。
6.3.0.0 起脚本类目标不再走宿主原生固定,不会再产生这种空壳。
问:固定完开始菜单里看不到这一项?
答:先执行一次 PinTo -repair-startmenu 把缺登记的项补齐;仍然不显示时,
重启一次 explorer(开始菜单缓存在宿主内存里)。
问:固定的 .lnk 双击能运行,开始菜单里点了却没反应?
答:同上,先 -unpin-startmenu 再重新固定;同时确认这个 .bat 在 PE 里
单独双击能正常运行(精简 PE 可能删掉了 .bat 文件关联)。
问:图标是空白的?
答:图标索引不对或图标文件不存在。换成该 PE 里确实存在的 .ico 文件,
或用别的索引再试。
问:执行后什么都没发生?
答:授权版在未授权 PE 上静默退出;另外 -help 是弹提示框,不是控制台输出。
十、内部参数(脚本 / 宿主内部使用,不要手动调用)
-pinserver 驻留进程(注册后由系统或本程序自身拉起)
-refresh-taskbar 让任务栏完整重读当前固定列表
-prepare-taskband 开始菜单解锁前的预热(可选毫秒数)
-guard-taskband 开始菜单解锁前后的任务栏固定列表守护(可选毫秒数)
-diag-startmenu 把开始菜单相关各处数据写进日志(需配合 -log)
-no-shell-restart 内部开关:防止”投递→回退→再投递”递归
-noinproc 内部开关:跳过 explorer 内原生固定,直接走手工路径
========================================================
下载: