Use o registro para iniciar um programa e também alterar o diretório de trabalho atual?

Eu estou tentando iniciar um programa que fiz neste diretório:

C:\example\example.exe -someargument 

quando o computador é iniciado. Eu estou tentando usar essa chave do Registro:

 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 

com a chave sendo:

 Name: example Type: REG_SZ Data: "C:\example\example.exe -someargument" 

Mas meu programa também precisa de arquivos do diretório C: \ example, mas não pode encontrá-los, pois o diretório de trabalho atual é diferente. É possível fazer algo assim no valor da chave do registro

 "cd C:\example\; example.exe -someargument" 

para que isso mude o diretório? ou há uma solução melhor?

Obrigado!

Você pode registrar seu aplicativo na próxima chave do registro (como esta ferramenta Reg2Run )

 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\example.exe @="c:\example\example.exe" Path="c:\AnotherPath" 

Então, System.Diagnostics.Run("example.exe"); irá lançar seu aplicativo com o caminho de trabalho especificado.

Ou de outra forma: escreva um lançador usando C #. Você pode fazer o mesmo usando um cmdlet do PowerShell.

 var info = new System.Diagnostics.ProcessStartInfo(@"c:\example\example.exe", "-someargument") { WorkingDirectory = @"c:\AnotherPath" }; System.Diagnostics.Process.Start(info); 

No início do aplicativo, faça o seguinte (isso é C #, converta para C ++):

  using System.IO; : : Environment.CurrentDirectory = Path.GetDirectoryName(Application.ExecutablePath); 

Se os arquivos sempre estiverem no mesmo diretório que o seu aplicativo, use o Application.ExecutablePath para localizar o diretório de trabalho dos arquivos de dentro do seu código e, em seguida, você poderá referenciá-los não importa o que aconteça.

Se você precisar carregar DLLs do mesmo diretório, você pode criar subchave example.exe em

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths 

chave de registro e definir o valor PATH REG_SZ example.exe

    Intereting Posts