Windows 7 Home PremiumのGetVersionExで間違った値を返す

Posted by atusi on 2010/12/09 in PC | Short Link

 これまた仕事で出た現象。VS2003で管理者権限に昇格するプログラムAとBを作成する。BはAからCreateProcessで呼び出される。
 BにGetVersionExがあるとHome Premiumで動かした場合、本来メジャーバージョン6,マイナーバージョン1で返すはずがメジャー6,マイナー0で値が返ってくる。同じプログラムをProfessionalで動かすとメジャー6,マイナー1で正しく返ってくる。

 VSが2003なのでWINVERの定義が正しくないとか、VS自体7に対応してないとか原因はいろいろありそうだが、HomeとProで動作が異なっていること自体問題だ。MSに聞く方法もないしなぁ。困った。

 WindowsXPのプログラムをWindows7に移植、特にXPでも7でも動作させなければならない場合注意。

タグ: , ,

Copyright © 2003-2021 いっちゃってる~日々 All rights reserved.
Shades-custom, v1.0, was grown from the Shades theme, v2.4.1, created by BuyNowShop.com.