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#ソース

ソースが見にくいのでこちらのブログで無料公開中


いいなと思ったら応援しよう!