无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3213|回复: 12
打印 上一主题 下一主题

[讨论] 锁定到任务栏问题

[复制链接]
跳转到指定楼层
1#
发表于 2022-11-25 15:30:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在 Windows 2000/XP 的时代,任务栏的快捷方式,只要将它复制到用户目录下的 Microsoft\Internet Explorer\Quick Launch 里面去,就立即生效,可以在任务栏看到图标了。但是在 Windows 7/10 里面,自行复制进去 AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar 的快捷方式却不会在任务栏里显示,系统重启了也不会显示——但是如果是直接用右键锁定到任务栏功能时却立竿见影。

真是神了,连这样的事情微软也留一手?究竟是哪个地方出了问题?


2#
发表于 2022-11-25 15:33:12 | 只看该作者
我也正需要了解琢磨这个问题,到底怎么样快速恢复任务栏的图标排列
回复

使用道具 举报

3#
发表于 2022-11-25 15:39:30 来自手机 | 只看该作者
图标加注册表。
回复

使用道具 举报

4#
发表于 2022-11-25 16:05:48 | 只看该作者
参考下转自AU3论坛的例子:


  1. ;例子:添加计算器程序
  2. _ShellExecute_TaskBarBtnAdd(@SystemDir & '\calc.exe', '我的计算器')
  3. If [url=home.php?mod=space&uid=1261]@error[/url] Then
  4.         Exit MsgBox(48, '', '添加错误 = ' & @error)
  5. Else
  6.         MsgBox(64, '', '已添加')
  7. EndIf

  8. ;例子:删除计算器程序
  9. _ShellExecute_TaskBarBtnDel('我的计算器')
  10. If @error Then
  11.         MsgBox(48, '', '删除错误 = ' & @error)
  12. Else
  13.         MsgBox(64, '', '已删除')
  14. EndIf

  15. Func _ShellExecute_TaskBarBtnAdd($sPath, $sName = '')        ;将快捷方式或程序锁定到任务栏
  16. ;~         ###(lnk快捷方式文件或程序文件, 程序文件可指定的显示名)
  17.         Local $fLnkTmp = ''
  18.         If Not StringRegExp($sPath, '(?i)\.lnk) Then
  19.                 If Not FileExists($sPath) Then Return SetError(1, 0, 0)
  20.                 $sName = StringRegExpReplace($sName, '(?i)^\s+|\s+$|\.lnk\s*, '')
  21.                 If $sName = '' Then
  22.                         $fLnkTmp = @TempDir & '\' & StringRegExpReplace($sPath, '^.*\\|\.\w+, '') & '.lnk'
  23.                 Else
  24.                         If StringRegExp($sName, '[\\/:*?"<>|]') Then Return SetError(2, 0, 0)
  25.                         $fLnkTmp = @TempDir & '\' & $sName & '.lnk'
  26.                 EndIf
  27.                 If Not FileCreateShortcut($sPath, $fLnkTmp) Then Return SetError(3, 0, 0)
  28.                 $sPath = $fLnkTmp
  29.         Else
  30.                 Local $aTmp = FileGetShortcut($sPath)
  31.                 If @error Then Return SetError(4, 0, 0)
  32.                 If Not FileExists($aTmp[0]) Then Return SetError(5, 0, 0)
  33.         EndIf
  34.         Local $TaskBarLnk = @AppDataDir & '\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\' & StringRegExpReplace($sPath, '^.*\\', '')
  35.         If $TaskBarLnk = $sPath Then Return SetError(6, 0, 0)
  36.         If FileExists($TaskBarLnk) Then ShellExecuteWait($TaskBarLnk, '', '', 'taskbarunpin')
  37.         ShellExecuteWait($sPath, '', '', 'taskbarpin')
  38.         If @error Then
  39.                 If $fLnkTmp <> '' Then FileDelete($fLnkTmp)
  40.                 Return SetError(7, 0, 0)
  41.         EndIf
  42.         If $fLnkTmp <> '' Then FileDelete($fLnkTmp)
  43. EndFunc   ;==>_ShellExecute_TaskBarBtnAdd
  44. Func _ShellExecute_TaskBarBtnDel($sLnkName)        ;删除任务栏上指定名称的锁定程序
  45. ;~         ###(lnk文件名即显示名)
  46.         $sLnkName = StringRegExpReplace($sLnkName, '(?i)^.*\\|^\s+|\s+$|\.lnk\s*, '')
  47.         If $sLnkName = '' Then Return SetError(1, 0, 0)
  48.         Local $TaskBarLnk = @AppDataDir & '\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\' & $sLnkName & '.lnk'
  49.         If Not FileExists($TaskBarLnk) Then Return SetError(2, 0, 0)
  50.         ShellExecuteWait($TaskBarLnk, '', '', 'taskbarunpin')
  51.         If @error Then Return SetError(3, 0, 0)
  52. EndFunc   ;==>_ShellExecute_TaskBarBtnDel
复制代码
回复

使用道具 举报

5#
 楼主| 发表于 2022-11-25 16:20:28 | 只看该作者
好复杂……
回复

使用道具 举报

6#
发表于 2022-11-25 18:36:54 | 只看该作者

好复杂……
回复

使用道具 举报

7#
发表于 2022-11-25 19:09:48 | 只看该作者
谢谢分享
回复

使用道具 举报

8#
发表于 2022-11-25 20:01:48 | 只看该作者
#在这里快 感谢分享速回复#
回复

使用道具 举报

9#
发表于 2022-11-26 12:53:27 | 只看该作者
回复

使用道具 举报

10#
发表于 2022-12-5 18:36:31 | 只看该作者
不主动进行图标刷新?

点评

不清楚,反正我离线复制到那个位置,重启N次都没出现。  详情 回复 发表于 2022-12-5 22:30
回复

使用道具 举报

11#
 楼主| 发表于 2022-12-5 22:30:39 | 只看该作者
wuidy 发表于 2022-12-5 18:36
不主动进行图标刷新?

不清楚,反正我离线复制到那个位置,重启N次都没出现。
回复

使用道具 举报

12#
发表于 2023-12-2 06:16:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

13#
发表于 2023-12-8 03:13:22 | 只看该作者
楼主应该是想封装系统的时候直接添加任务栏,PinToTaskbar是系统启动后的,不过也可以,加个启动项就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-25 00:09

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表