C#.NET OS和暦レジストリ取得方法公開
もうすぐ改元ですね、改元対応の計画を立ててみえると思います。
大変なのは和暦判断です。
市販のコンポーネントを購入し使用されている場合には問題ありませんが、作り込みで和暦判断をされている方も多いと思います。そんな方にWindowsレジストリ情報を取得できる.NET クラスのソースを公開致します。
ご存知の通りWindowsにはレジストリに和暦情報をもっています
.NET のカレンダーのプライベートプロパティへアクセスし、値を取得するクラスソースを公開します。
※本クラスは10年ほど前に作成し、現在も利用できています。
Windows 10/2016 Serverでも取得が可能であることを確認しています。
■使用方法
var cReki = cRekis.GetRekiList
textBox1.Text=cReki[0].EraName //【明治】
textBox2.Text=cReki[0].EraShortName //【M】
textBox3.Text=cReki[0].EraYear //【1868】
textBox4.Text=cReki[0].EraDate //【1868/1/1】
textBox5.Text=cReki[0].EraRange //【45】
※【】の中の値が戻ってきます
※cRekisクラスを下記に有料公開します!
■取得時の戻り値イメージ一覧
※「和暦」などの日本語行は解説用でプロパティには入ってきません。
※Win10 1803以降の場合は、新元号「??」が取得できます
■留意点
10年ほど実環境で運用しておりますが、プライベートプロパティへのアクセうですので、.NETの仕様の変更によりアクセスできなくなる可能性もあります。自己責任にてご利用下さい。
■c#ソース
ソースが見にくいのでこちらのブログで無料公開中