Запуск процесса с запуском Windows (не могу найти поддерживающие файлы)

Я запрограммировал (C# .Net 3.5) процесс для запуска при запуске Windows (XP). Этот процесс использует другие файлы в той же папке, что и сам. Более того, он запускает другой процесс, снова расположенный в той же папке.

Тем не менее, кажется, что процесс не может найти файлы в той же папке (они есть). Вместо этого он выглядит в папке "C:\Documents and Setting\User". Всякий раз, когда все файлы находятся в этой папке, он запускается правильно, но НЕ, когда они находятся в другой папке.

Процесс запускается при запуске Windows путем регистрации его в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

1 ответ

Решение

Вы можете попробовать установить рабочий каталог при запуске процесса:

Directory.SetCurrentDirectory(
    Path.GetDirectoryName(
        Assembly.GetExecutingAssembly().Location
    )
);

Если позже вы попытаетесь получить доступ к файлу в том же каталоге, что и исполняемый файл процесса, указав относительный путь, он сможет найти его.

Другие вопросы по тегам