Начиная с Windows 7(майне Vista тоже) у меня проблема с закреплением элемента на панели задач. Путь к панели задач - %appdata%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar , но добавление .bat, .exe или даже вставка туда .lnk вручную не показывает ничего нового на панели задач даже после того, как перезагружать. Вставка в местоположение пользователя по Default ничего не решает.

Почему это так и что я должен делать после того, как я вставил что-то в это место, чтобы оно заработало?

Меня не интересует перетаскивание, потому что я пишу сценарий, а сценарий является пакетным, поэтому мне также не нужны не пакетные решения (например, создание элемента на панели задач w/ vbs).

1 ответ1

0

Это связано с тем, что закрепленные элементы также регистрируются при закреплении чего-либо.

К сожалению, из-за этого пакетное решение не будет работать. VBScript, однако, может заставить его работать. Это тоже скрипт, и, как .cmd или .bat будет работать на других компьютерах и через скрипт входа в систему. В качестве альтернативы (но безобразно) вы можете использовать wscript или cscript для выполнения вашего скрипта из командного файла.

Чтобы закрепить элемент на панели задач, используйте следующий скрипт:

' print name of item

Const CSIDL_COMMON_PROGRAMS = &H17
Const CSIDL_PROGRAMS = &H2
Set objShell = CreateObject(“Shell.Application”)
Set objAllUsersProgramsFolder = objShell.NameSpace(CSIDL_COMMON_PROGRAMS)
strAllUsersProgramsPath = objAllUsersProgramsFolder.Self.Path
Set objFolder = objShell.Namespace(strAllUsersProgramsPath & “\Accessories”)
Set objFolderItem = objFolder.ParseName(“Calculator.lnk”)
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
    Wscript.Echo objVerb
Next

и закрепить фактический элемент

Const CSIDL_COMMON_PROGRAMS = &H17
Const CSIDL_PROGRAMS = &H2
Set objShell = CreateObject(“Shell.Application”)
Set objAllUsersProgramsFolder = objShell.NameSpace(CSIDL_COMMON_PROGRAMS)
strAllUsersProgramsPath = objAllUsersProgramsFolder.Self.Path
Set objFolder = objShell.Namespace(strAllUsersProgramsPath & “\Accessories”)
Set objFolderItem = objFolder.ParseName(“Calculator.lnk”)
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
    If Replace(objVerb.name, “&”, “”) = “Pin to Start Menu” Then objVerb.DoIt
Next

Источник: https://blogs.technet.microsoft.com/deploymentguys/2009/04/08/pin-items-to-the-start-menu-or-windows-7-taskbar-via-script/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .