2011-08-04 7 views
0

こんにちは、すべて。 Windowsシステムのロケール(システムコードページ、1252、936、950など)はシステム全体である必要がありますか? Windows 2000〜Windows 7では、コントロールパネルのシステムコードページを変更するには再起動が必要です。Windowsシステムのロケールはシ​​ステム全体である必要がありますか?

ログオンセッションごとのロケール設定、またはプロセスごとのロケール設定ができるかどうかを知りたいですか?これにより、異なるロケールで実行されているデバッグプログラムが簡単になります。

私はGetCPInfo()Win32 APIを見つけましたが、対応するSetCPInfo、sighは見つかりませんでした。

答えて

1

はい、システムロケールはシ​​ステム全体ですが、ユーザーとプロセス/スレッドはそれぞれ独自のロケールを変更できます。 ローカルのスレッドは、SetThreadLocale()を使用して設定できます。 他のものはあなたのプログラムを変更する責任はありません。

+1

ありがとうございます。マイクロソフトがなぜプロセスロケールやログオンセッションベースでシステムロケールを変更できないような決定を下したのか不思議です。もっと説明をしていただけますか? –

+0

これはユーザー設定であり、アプリケーションを変更するためではありません。変更したい場合は、上記のようにスレッド固有です。 – Deanna