Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá eu uso o seguinte codigo para abrtir um programa externo
Dim procInfo = New System.Diagnostics.ProcessStartInfo(strCaminho)
procInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(strCaminho)
Dim _childp As Process
Dim _appWin As IntPtr
_childp = System.Diagnostics.Process.Start(procInfo)
_childp.WaitForInputIdle()
a variavel strCaminho por exemplo vem assim: C:\Tela.exe
porem para que o usuario nao va no sistema e execute externamente nos mudamos o Tela.exe para Tela.acb
mas com esse Tela.acb o Process.Start nao executa, ele abre a opção de selecionar um programa padrão.
eu preciso utilziar o Process pois armazeno as telas abertas em um List(of) por isso nao poderia usar o comando Shell (que neste caso idependente da extenção executa meu programa)
alguma solução ? para usar o Star, com a extenção alterada.
Cara eu resolvi da seguinte forma, eu utilizei o Shell, e este me retorna o id do processo no windows, entao usei getProcessById e atribui em uma variavel do tipo Process. Obrigado pela ajuda
Mas agora vendo sua resposta realmente seria mais facil o seu caminho.
Veja essa dúvida: http://stackoverflow.com/questions/3434799/run-external-application-with-no-exe-extension
O segredo é desativar as lógicas do Shell e deixar o windows decidir o arquivo.