アフィリエイト広告を利用しています

広告

posted by fanblog

2014年07月15日

GetVersionEx が Win8.1 からは使えなくなったようだ

従来のコードをメンテナンスしている際、Win8.1 対応コードを追加しようとしたが、びっくりの結果がわかった
やろうとしていたのは以下のようなこと

OSVERSIONINFOEX os = {0};
os.dwOSVersionInfoSize = sizeof(os);
GetVersionEx((OSVERSIONINFO*)&os);
switch ( os.dwMajorVersion ) {
case 6:
switch ( os.dwMinorVersion ) {
case 0: return "Vista";
case 1: return "Win7";
case 2: return "Win8";
case 3: return "Win8.1";
}
break;
}

ところが、上記os.dwMinorVersionの値が、Win8.1 上で実行しても Win8 を示す2が返ってきてしまったのだ(本来3が返ってきてほしかった)

MSDNで質問してみたら、すぐに回答が付き、理由がわかった
要は GetVersionEx はマニフェストに応じて異なるバージョンを返すということだった(なぜそうしたかの合理的な理由は思い浮かばなかったが、ま、しょうがない)

GetVersionEx の解説





この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/2590441
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
ファン
検索
<< 2016年05月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
最新記事
最新コメント
タグクラウド
カテゴリアーカイブ
プロフィール
いしちゃんさんの画像
いしちゃん
ブログ
プロフィール
日別アーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。