Enganar a barra de tarefas para pensar que um programa de iniciação separado é o mesmo que o programa que inicia?

0

Um programa que eu uso (não desenvolvido nem mantido por mim) usa uma faixa de opções. A faixa de opções não está organizada tão bem quanto poderia ser, mas, felizmente, editando o arquivo ribbon.xml na pasta de instalação do programa, posso ajustá-lo para facilitar o trabalho (já consegui a aprovação do desenvolvedores de software para ajustá-lo).

Infelizmente, a forma como o programa é atualizado é um pouco estranha. Quando ele é instalado, ele cria uma pasta chamada "version-versionGUID". Quando ele é atualizado, ele exclui a instalação atual e a substitui por uma pasta chamada "version-newversionGUID" Isso causa dois problemas para mim: 1) Não consigo criar um atalho permanente para o programa, pois seu caminho de arquivo muda toda vez que o programa atualizações e 2) Toda vez que o programa atualiza minhas alterações do ribbon.xml, elas são sobrescritas.

Para tornar isso menos doloroso, criei um script VBS que pesquisa o diretório no qual as pastas version-versionGUID são criadas e, assim que eu encontrar a pasta de instalação do programa, posso iniciar o executável. Problema 1 resolvido - executar o script sempre lançará a versão mais recente do programa. Antes de fazer isso, o script exclui o arquivo ribbon.xml no diretório do programa e clona em uma versão modificada com as edições desejadas. Problema 2 resolvido - Eu fixei um atalho para a barra de tarefas que lançou wscript.exe "launcher.vbs", mudou seu ícone para o ícone do programa, e então tudo está bem, certo?

Eu diria que é um dia, mas há um pequeno problema. Quando o programa é executado, em vez de o programa assumir o ícone fixo da barra de tarefas como um programa fixado normalmente, um novo item da barra de tarefas é criado e agora eu tenho dois itens na barra de tarefas (ícone do lançador e programa) quando normalmente eu só tem apenas o programa. Isso, obviamente, é porque o lançador não é realmente o programa, então é claro que não será retomado. Ainda assim, gostaria de convencer o Windows a pensar que esse lançador é o programa, para que ele seja retomado.

Então, minha pergunta é dupla:

1) Existe alguma maneira que eu possa enganar / forçar o Windows a ter o programa assumir o ícone do lançador na barra de tarefas, e então restaurar o lançador quando o programa estiver fechado?

2) Se não, existe uma maneira de controlar onde o novo programa é colocado na barra de tarefas quando é aberto (eu gostaria de colocá-lo ao lado do lançador), desative o ícone do lançador na barra de tarefas quando o programa é executado e, em seguida, reativar o iniciador quando o programa é fechado, tudo sem reiniciar o explorer.exe?

Para ambos 1 & 2, estou bem aventurando fora do VBScript - a única razão que foi usada foi porque era fácil de usar e o resultado é leve. Na verdade, eu preferiria me aventurar fora do VBScript porque o AFAIK não é poderoso o suficiente para eu implementar a atualização automática quando eu executar o ativador, para que eu não precise atualizar manualmente o programa.

    
por Drew 22.02.2016 / 22:33

0 respostas