Arrastando os arquivos para um .exe define diretório de trabalho diferente

votos
4

Se eu tiver um aplicativo de console normal (ou qualquer outra aplicação para que o assunto) e arrastar um arquivo para o arquivo .exe usando o Windows Explorer (em ordem para usar o arquivo como de linha de comando-input), o diretório atual é definida para algum outro diretório (minha pasta casa?), ao invés do diretório onde o aplicativo está localizado. Se eu começar o aplicativo clicando duas vezes nele, o diretório atual está configurado corretamente.

Qual é a razão para isto? Existe uma maneira de usar a pasta da aplicação como o diretório atual?

Publicado 19/05/2009 em 14:43
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Procurando uma razão Eu achei essa mensagem em autoitscript.com :

[A aplicação] simplesmente herda tudo o diretório de trabalho do Explorer é

Isto é consistente com as minhas próprias observações, por exemplo, com teclas programáveis ​​nos teclados.

I contornar é redefinindo o diretório de trabalho. Em C #, você pode fazê-lo como este:

System.Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

Você também teria que fazer isso quando você inicia um aplicativo mono no Linux sem usar a linha de comando.

Respondeu 19/05/2009 em 15:01
fonte usuário

votos
0

Isso é exatamente por isso que a sua aplicação não deve confiar em diretórios para começar a trabalhar. O caminho completo do arquivo será especificado na linha de comando. Analisar o caminho a partir dele, se necessário.

Respondeu 16/07/2009 em 01:25
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more