我需要使用我选择的文化从 .NET 应用程序运行一个新进程。
此过程将运行外部非托管 3rd 方 exe。
我怎样才能让它在特定的文化中运行?

请注意,我不想改变线程的文化,可以这样做:

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

我不想为新线程设置默认文化,这可以通过反射或:
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("fr-FR")

最佳答案

如果可执行文件是 .Net 应用程序,您可以创建自己的代理可执行文件,以您想要的方式设置文化,并通过反射加载其可执行文件并启动相应的 Main 方法来“启动”另一个应用程序。您可能需要了解配置和程序集加载 API,如果它在第一次尝试时没有神奇地启动,才能使其正常工作。

对于 native 应用程序,恐怕您需要更改区域设置或某些应用程序自己的配置。

关于c# - 如何启动具有不同文化的新的非托管流程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15350640/

10-13 06:26