VB OS のバージョンを取得 ( Windows10 対応 )
を書いたのが10年前!。
ああ、時の流れは速く、
内容も既に時代遅れ。
さぁ、重い腰を上げて ... 。
Windows 10 も既に サポート終了(基本的には)になって、
自分の環境でも、 Windows 11 のみになっています。
Windows 10 対応した自前の Program 群 (.Netframework 利用) ですが、
取得し様としても、Windows 11 の名称を返す事は無く、
11 を 10 と表示したまま。
相変わらず、MS さま は、自前の開発言語で取得する OS 絡みの情報に、
改善を加える気は無いらしく、
混乱した(不正確な)情報が返ります。
此れ迄の歴史があるので、ヘタに直すと更に混沌となるから手を付けないのか?。
まぁ、宝探しの地図の如く、なかなか辿り着け無い状況。
無論、次世代を標榜する 最新の .Net (嘗てなら Core) を使えば、
より正確な値が返る様ですが、
OS Windows には 標準添付されず 、追加導入が必要。
標準添付 は .Netframework 4.8.1 のみ。
ならば、.Netframework 4.8.1 で 何とかしようか!。
事の始まりは、
とあるアプリ(多OS対応)の質疑応答で、簡単な Program を作って画像添付したのですが、
利用 OS を正確に取得出来ず、四苦八苦。
何とかものにしたのでした。
2024年末の事。 今、実行すれば、此の通り。
其の時から、行く行くは、他のもの も ちゃんと 対応しよう! と、
考えてはいましたが、
本来の用途的には影響が無い部分なので、
流石に、億劫で ... 。
いやぁ、時は飛ぶ! 速いですね。 あっと言う間に ... 。
1年以上、積み残したまま ... 。
やっと、 ヤル気 になってます。
詳細は 次回 に書く予定ですが、
今回は 触り のみ。
3手法で掻き集めてます。
コード中に残したメモから。
// WMI ManagementObject .Properties["Caption"].Value > Microsoft Windows 11 Pro
// reg HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion DisplayVersion > 23H2
// cmd.exe ver > Microsoft Windows [Version 10.0.22631.4317]
ほんと、ばらばらに散らばって格納されている ... 。
気が向けば、コード自体も掲載する心算。

0 件のコメント:
コメントを投稿