A melhor maneira que encontrei para conseguir isso foi criar um arquivo de lote contendo a chamada para o executável com os parâmetros e, em seguida, executar o arquivo em lotes usando o explorer.exe. Nesse caso, o arquivo em lote é executado no contexto do processo do explorador e tudo o que ele executa permanece no mesmo contexto. Significa criar um arquivo de lote, vamos chamá-lo de c:\activate.bat
e colocar dentro desse arquivo a chamada C:\Program Files (x86)\Vim\vim73\gvim.exe' D:\myfile.txt
. Quando o arquivo existir, ele poderá ser chamado usando explorer.exe %windir%\explorer.exe c:\activate.bat
. No meu caso, também apaguei o arquivo depois, mas isso não é necessário.