2013-03-11 1 views
3

Мне нужно запустить новый процесс из приложения .NET с культурой по своему выбору. Этот процесс будет запускать внешний неуправляемый сторонний exe. Как я могу заставить его работать с определенной культурой?Как начать новый неуправляемый процесс с другой культурой?

Обратите внимание, что я не хочу, чтобы изменить культуру для нити, которая может быть сделано, как это:

System.Treading.Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR") 

Я не хочу, чтобы настроить культуру по умолчанию для новых потоков, которые могут быть сделаны путем отражения или:

CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("fr-FR") 
+0

Я как-то сомневаюсь, что это возможно без передачи имени культуры в качестве аргумента командной строки для другого процесса. (Что, как вы говорите, является третьей стороной и, следовательно, не будет сотрудничать в этом.) – millimoose

+0

да, это проблема ... – taminov

+0

Является ли сторонний исполняемый файл .NET одним? –

ответ

4

Если исполняемый файл является .Net-приложением, вы можете создать свой собственный прокси-исполняемый файл, настроить культуру так, как вы хотите, и «запустить» другое приложение, загрузив его исполняемый файл путем отражения и запуска соответствующего основного метода. Вам, вероятно, потребуется понять API-интерфейсы конфигурации и сборки, чтобы все работало правильно, если оно не волшебным образом начинается с первой попытки.

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

+0

, к сожалению, не .NET exe. – taminov

 Смежные вопросы

  • Нет связанных вопросов^_^