Расположение папки VB.NET - PullRequest
0 голосов
/ 18 марта 2010

Моя программа использует некоторые внешние программы, которые я включил в папку «Файлы».

В моем коде я ссылаюсь на Files / external_program.exe. Windows Vista и Windows 7 знают, как с этим справиться, и запускают программу в том же месте, что и моя программа в папке Files.

Но Xp не знает, где он находится, и Windows XP подумает, что я перенаправляю его в папку C: \ Files. Так что я получаю сообщение об ошибке, и приложение вылетает.

Как я могу это исправить? поэтому Windows XP узнает, что я обращаюсь к папке Files в том же месте, что и моя программа.

Ответы [ 3 ]

2 голосов
/ 18 марта 2010

Проверьте application.startuppath

http://msdn.microsoft.com/en-us/library/system.windows.forms.application.startuppath.aspx

dim progdir as string=application.startuppath & "\files\externalexe.exe"
1 голос
/ 18 марта 2010

Доступ к текущему рабочему каталогу можно получить через Environment.CurrentDirectory. Я бы также посоветовал всегда использовать функцию Path.Combine для объединения путей, потому что она уже имеет дело с любыми крайними случаями, которые могут возникнуть.

Path.Combine(Environment.CurrentDirectory, "Files\external_program.exe")
0 голосов
/ 18 марта 2010

Пожалуйста, добавьте application.path перед путем к местоположению.

...