Não funciona para gravar "% ~ dpn1" no registro.
Você pode chamar um arquivo de comando CMD
que corta a extensão e chama seu aplicativo:
Conteúdo do arquivo hyb.cmd
:
echo on
myApp.exe "%~dpn1"
"% ~ dpn1" tomará drive + caminho + nome do parâmetro 1 e deixará de fora a extensão.
Arquivo de definição de registro hyb.reg
para chamar este script:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.hyb]
[HKEY_CLASSES_ROOT\.hyb\shell]
[HKEY_CLASSES_ROOT\.hyb\shell\open hyb file]
[HKEY_CLASSES_ROOT\.hyb\shell\open hyb file\command]
@="cmd.exe /c hyb.cmd \"%1\""
Observe que o Windows fornece comandos úteis para manter associações de arquivos da linha de comando sem tocar no registro. Pergunte ao Google por ASSOC
e FTYPE
.