Ver. 5.0 … Windows 2000
Ver. 5.1 … Windows XP (32bit)
Ver. 5.2 … Windows Server 2003、Windows XP (64bit)
Ver. 6.0 … Windows Vista
Ver. 6.1 … Windows 7
Ver. 6.2 (6.2.9200) … Windows 8
Ver. 6.3 (6.3.9600) … Windows 8.1
V er.6.4 (6.4.9841) … Windows 10 (Technical Preview)
そのため、わざわざブランドバージョン (Windows 7, Windows 8, Windows 8.1 など) の数値を取り出してきて文字列処理するコードを書く人
Microsoft が内部バージョンの偽装をするのが諸悪の根源 (スコア:5, 参考になる)
プログラム開発者にとって、Windows の内部バージョンは下記のように合理的な管理となっていることから、一見使いやすいように思えます。
Ver. 5.0 … Windows 2000
Ver. 5.1 … Windows XP (32bit)
Ver. 5.2 … Windows Server 2003、Windows XP (64bit)
Ver. 6.0 … Windows Vista
Ver. 6.1 … Windows 7
Ver. 6.2 (6.2.9200) … Windows 8
Ver. 6.3 (6.3.9600) … Windows 8.1
V er.6.4 (6.4.9841) … Windows 10 (Technical Preview)
そのため、わざわざブランドバージョン (Windows 7, Windows 8, Windows 8.1 など) の数値を取り出してきて文字列処理するコードを書く人
これからのアプリは、上位互換を保障するべき (スコア:5, 参考になる)
ちょっと調べたら、GetVersionExは、既に非推奨になってますね。
で、「互換モード」を設定すると、GetVersionExが偽装される仕組みになってると。
つまり、Win8.1は「Win8.0互換モードが標準」って事です。
逆に言えば、「Win8.0で動くのにWin8.1じゃ動かない」なら「M$が悪い」って言い切れば良い訳です。
実際問題として、SP等が入ると、GetVersionExは変わらないのに機能がごっそり変更されたりします。
だから、機能を個別に認識して動作するのが本来の姿なんでしょう。
ついでに言えば、「動作未確認だからサポート外」ってのは、ソフト屋の甘えだと思います。
現実に、「
-- Buy It When You Found It --
検証していない環境をサポートするのは不可能 (スコア:3, すばらしい洞察)
笑っちゃうほどおかしな話ですね。
どれだけコストを掛けても、未知のAPI変更に対応することなんて不可能です。
動くかどうか判らないものをサポートするには、お金がかかるかからない以前の問題です。
「20年後も、このテレビが映るようにしてくれ」ということと同じですよ。
放送の方式が変わるかもしれないし、補修部品を作成していた会社がなくなるかもしれない。
テレビ等は方式が公開されていて多数の会社が製作できますが、Windowsはたかだか一企業が作成しているOSです。
コストをかければプレリリース版等で早くから情報を掴んで、新しい対応バージョンを前もって用意することはできるでしょうし、
問題が起きたらすぐに直すように待機部隊を用意したりすることも当然できるでしょう。
ただそれは、本来サポートできるか、新しいOSに対応できるかどうかとはまた別の話です。
未知の変更に必ず対応できるという保証は誰にもできません。
Re: (スコア:0)
> どれだけコストを掛けても、未知のAPI変更に対応することなんて不可能です。
APIの仕様変更はあり得るが、マニュアルに記載された範囲で使っている限り、普通、そういうケースは稀。
そういう地雷を踏むプログラムを書いているプログラムは、何か変なことをしている場合が多い。
Re: (スコア:0)
自分で正しい答えを出しているのに変なの。
「稀」は絶対に無いわけじゃないし「多い」も同様。
”どれだけコストを掛けても、未知のAPI変更に対応することなんて不可能です。”
は正しいじゃん。
Re: (スコア:0)
なぜ、好き好んで変なことをしようとするのか
変態なの?
Re: (スコア:0)
国語辞典の利用を推奨します。