无忧启动论坛
标题:
锁定到任务栏问题
[打印本页]
作者:
xianglang
时间:
2022-11-25 15:30
标题:
锁定到任务栏问题
在 Windows 2000/XP 的时代,任务栏的快捷方式,只要将它复制到用户目录下的 Microsoft\Internet Explorer\Quick Launch 里面去,就立即生效,可以在任务栏看到图标了。但是在 Windows 7/10 里面,自行复制进去 AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar 的快捷方式却不会在任务栏里显示,系统重启了也不会显示——但是如果是直接用右键锁定到任务栏功能时却立竿见影。
真是神了,连这样的事情微软也留一手?究竟是哪个地方出了问题?
作者:
a583091790
时间:
2022-11-25 15:33
我也正需要了解琢磨这个问题,到底怎么样快速恢复任务栏的图标排列
作者:
窄口牛
时间:
2022-11-25 15:39
图标加注册表。
作者:
9zhmke
时间:
2022-11-25 16:05
参考下转自AU3论坛的例子:
;例子:添加计算器程序
_ShellExecute_TaskBarBtnAdd(@SystemDir & '\calc.exe', '我的计算器')
If [url=home.php?mod=space&uid=1261]@error[/url] Then
Exit MsgBox(48, '', '添加错误 = ' & @error)
Else
MsgBox(64, '', '已添加')
EndIf
;例子:删除计算器程序
_ShellExecute_TaskBarBtnDel('我的计算器')
If @error Then
MsgBox(48, '', '删除错误 = ' & @error)
Else
MsgBox(64, '', '已删除')
EndIf
Func _ShellExecute_TaskBarBtnAdd($sPath, $sName = '') ;将快捷方式或程序锁定到任务栏
;~ ###(lnk快捷方式文件或程序文件, 程序文件可指定的显示名)
Local $fLnkTmp = ''
If Not StringRegExp($sPath, '(?i)\.lnk) Then
If Not FileExists($sPath) Then Return SetError(1, 0, 0)
$sName = StringRegExpReplace($sName, '(?i)^\s+|\s+$|\.lnk\s*, '')
If $sName = '' Then
$fLnkTmp = @TempDir & '\' & StringRegExpReplace($sPath, '^.*\\|\.\w+, '') & '.lnk'
Else
If StringRegExp($sName, '[\\/:*?"<>|]') Then Return SetError(2, 0, 0)
$fLnkTmp = @TempDir & '\' & $sName & '.lnk'
EndIf
If Not FileCreateShortcut($sPath, $fLnkTmp) Then Return SetError(3, 0, 0)
$sPath = $fLnkTmp
Else
Local $aTmp = FileGetShortcut($sPath)
If @error Then Return SetError(4, 0, 0)
If Not FileExists($aTmp[0]) Then Return SetError(5, 0, 0)
EndIf
Local $TaskBarLnk = @AppDataDir & '\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\' & StringRegExpReplace($sPath, '^.*\\', '')
If $TaskBarLnk = $sPath Then Return SetError(6, 0, 0)
If FileExists($TaskBarLnk) Then ShellExecuteWait($TaskBarLnk, '', '', 'taskbarunpin')
ShellExecuteWait($sPath, '', '', 'taskbarpin')
If @error Then
If $fLnkTmp <> '' Then FileDelete($fLnkTmp)
Return SetError(7, 0, 0)
EndIf
If $fLnkTmp <> '' Then FileDelete($fLnkTmp)
EndFunc ;==>_ShellExecute_TaskBarBtnAdd
Func _ShellExecute_TaskBarBtnDel($sLnkName) ;删除任务栏上指定名称的锁定程序
;~ ###(lnk文件名即显示名)
$sLnkName = StringRegExpReplace($sLnkName, '(?i)^.*\\|^\s+|\s+$|\.lnk\s*, '')
If $sLnkName = '' Then Return SetError(1, 0, 0)
Local $TaskBarLnk = @AppDataDir & '\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\' & $sLnkName & '.lnk'
If Not FileExists($TaskBarLnk) Then Return SetError(2, 0, 0)
ShellExecuteWait($TaskBarLnk, '', '', 'taskbarunpin')
If @error Then Return SetError(3, 0, 0)
EndFunc ;==>_ShellExecute_TaskBarBtnDel
复制代码
作者:
xianglang
时间:
2022-11-25 16:20
好复杂……
作者:
879792799
时间:
2022-11-25 18:36
好复杂……
作者:
laonat
时间:
2022-11-25 19:09
谢谢分享
作者:
9527sss
时间:
2022-11-25 20:01
#在这里快 感谢分享速回复#
作者:
a583091790
时间:
2022-11-26 12:53
用 PinToTaskbar 解决了
http://bbs.wuyou.net/forum.php?m ... d=433062&extra=
作者:
wuidy
时间:
2022-12-5 18:36
不主动进行图标刷新?
作者:
xianglang
时间:
2022-12-5 22:30
wuidy 发表于 2022-12-5 18:36
不主动进行图标刷新?
不清楚,反正我离线复制到那个位置,重启N次都没出现。
作者:
nowayer
时间:
2023-12-2 06:16
提示:
作者被禁止或删除 内容自动屏蔽
作者:
千城
时间:
2023-12-8 03:13
楼主应该是想封装系统的时候直接添加任务栏,PinToTaskbar是系统启动后的,不过也可以,加个启动项就好了
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3