Eu tenho um aplicativo GUI do Windows, digamos prog.exe, que está localizado em uma pasta no caminho do sistema. O aplicativo não é meu, e tudo que eu tenho é binário, então não posso mudar o programa.
Eu tenho um tipo de arquivo, digamos * .typ, que eu associo com prog.exe.
Um arquivo específico, digamos tst.typ, está localizado em alguma pasta, digamos C: \ tst, portanto, o caminho completo é C: \ tst \ tst.typ.
Em seguida, no Windows Explorer, abro a pasta C: \ tst e clico duas vezes em tst.typ. Quando eu faço isso, o prog abre com sucesso.
No entanto prog não recebe argumentos, portanto, embora prog abre corretamente, ele não sabe que ele foi chamado a partir do diretório de trabalho C: \ tst ou do arquivo C: \ tst \ tst.typ.
Mas na inicialização, o prog faz verificar uma variável ambiental, digamos PROG_VAR.
Aqui está o que eu gostaria que acontecesse quando eu clico duas vezes em tst.typ da pasta C: \ tst:
- A variável de ambiente PROG_VAR é definida para C: \ tst \ tst.typ.
- prog.exe é então chamado (com o ambiente atualizado).
Uma abordagem é alterar a associação de * .typ para que ele seja aberto com um arquivo em lote, digamos prog.bat. Em seguida, o prog.bat pode definir corretamente a variável ambiental PROG_VAR e invocar o prog.exe. O problema com essa abordagem é que uma janela de comando também será mostrada, e eu não quero isso. Eu só quero ver a janela da GUI do prog.exe.
Quais são algumas maneiras de alcançar esse objetivo?
Agradecemos antecipadamente.