O Windows TaskBar não mostra novos itens

0

Desde o Windows 7 (mayne Vista também), eu tenho um problema com a fixação de um item na barra de tarefas. O caminho para a barra de tarefas é %appdata%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar , mas adicionar ou .bat, .exe ou mesmo colar um .lnk manualmente não mostra nada de novo na barra de tarefas, mesmo após a reinicialização. Colar na localização do usuário Default não resolve nada.

Por que é assim e o que preciso fazer depois de colar algo nesse local para que funcione?

Não estou interessado em arrastar e soltar porque escrevo um script e o script é um lote, portanto, também não preciso de soluções não em lote (por exemplo, criar um item na barra de tarefas com vbs).

    
por KeyWeeUsr 15.03.2016 / 12:47

1 resposta

0

Isso ocorre porque os itens fixados também são registrados quando algo é fixado.

Infelizmente, por causa disso, uma solução em lote não funcionará. Um vbscript, no entanto, pode fazê-lo funcionar. É um script também e como .cmd ou .bat funcionará em outros computadores e através do script de logon. Alternativamente (mas feio) você pode usar wscript ou cscript para executar seu script a partir do arquivo de lote.

Para fixar um item na barra de tarefas, use o seguinte script:

' 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

e para fixar o item real

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

Fonte:

    
por 15.03.2016 / 13:12