У меня есть приложение на VC ++, которому нужно при запуске прочитать текстовый файл, чтобы установить различные значения. Я просто использую объект StreamReader, чтобы прочитать файл до конца, и здесь обычно нет проблем.
Если я выполняю приложение напрямую или отлаживаю его в Visual Studio, проблем не будет, и текстовый файл будет прочитан правильно.
Цель этого приложения - использовать его как расширение другого основного приложения. Расширение добавляется и выполняется путем указания пути приложения, и создается объект Process. Однако, когда приложение выполняется таким образом, StreamReader неправильно читает текстовый файл.
Я уверен, что мой текстовый файл находится в utf-8, но даже если я создам StreamReader с utf-8 в качестве кодировки, он будет читать Français как Fran asais. На самом деле, любой символ, кроме букв и цифр, не будет правильным. Я пробовал с циклом каждую возможную кодировку, и ни одна не работает.
Существуют и другие приложения, которые используются в качестве расширения, и эти приложения открываются таким же образом, и при запуске им тоже нужно прочитать текстовый файл, но с этим проблем нет.
Я не думаю, что это проблема кодирования, поскольку приложение будет правильно читать текст, если я запусту его напрямую, но произойдет сбой, если он будет открыт классом Process.
Спасибо за помощь.