Corri para o mesmo problema que @jtpereyda e a solução da @bobbymcr também não funcionou para mim. Eu estava tentando obter todos os parâmetros de linha de comando passados para scripts node.js sem a necessidade de node.exe no comando.
O problema é que, se você já associou o programa à extensão através da caixa de diálogo Open With
, você terá criado uma associação de aplicativo, em vez de uma associação de extensão de arquivo, entre as duas. E as associações de aplicativos têm precedência.
Se você não se importar de editar o registro, poderá modificar a chave (Default)
no seguinte caminho:
HKEY_CLASSES_ROOT\Applications\node.exe\shell\open\command
Você deve substituir node.exe
pelo aplicativo que está ajustando.
Ou você pode simplesmente excluir totalmente a pasta do aplicativo da pasta HKEY_CLASSES_ROOT\Applications
e sua associação ftype
começará a funcionar.
Certifique-se de usar %*
, que passará nos argumentos de linha de comando não especificados restantes ou nada. Se você fizer "%2" "%3" "%4" "%5"
, você receberá 5 params de cadeia vazia passados para o seu aplicativo quando você não especificar nenhum argumento de linha de comando.
Por fim, se você não estiver de acordo com a modificação manual do registro, use a ferramenta freeware da Nirsoft - FileTypesManager - link
As associações de arquivos aparecerão no topo da lista, sem qualquer texto na primeira coluna de extensão. Basta encontrar o nome do executável na lista e selecioná-lo para modificar o campo command line
para o nome da ação open
.
No windows7, as alterações foram refletidas imediatamente, sem qualquer reinicialização ou reinicialização do aplicativo. No entanto, o utilitário Nirsoft tem um recurso para "Atualizar o Desktop" em qualquer modificação, por isso leva-me a acreditar que talvez o Vista ou versões anteriores do sistema operacional armazenem os dados em cache. Nesse caso, o utilitário seria uma aposta melhor, caso contrário, talvez seja necessário fazer logoff e fazer logon para ver as alterações.