2011-07-01 9 views
0

したがって、アプリケーションを実行しているコンピュータがWindows 2000を実行しているかどうかを調べるには、IsWin2000関数を使用しています。警告:関数IsWin2000()を使用すると、C++警告が生成されます。C4996 - 非推奨関数

warning C4996: 'IsWin2000': This function is exported to support existing modules and is obsolete. 

これが廃止予定の機能である場合、オペレーティングシステムが実行されていることを照会する適切な方法は何ですか?このタスクを達成するための他の方法はありますか、または単に警告を抑制する唯一の選択肢ですか?ありがとう!

+0

の存在のためのテストを決定するために GetVersionExを使用するよりも。なぜあなたは関数を呼び出していますか? – SLaks

答えて

3

GetVersionEx

結果とその解釈方法のリストについては、OSVERSIONINFOで備考を​​参照してください。本格的な例については、Getting the System Versionを参照してください。

とスペックが言うことを忘れないことができます:

は、現在のオペレーティングシステム の識別は、通常 への最善の方法は、特定の オペレーティングシステムの機能が存在するかどうかを判断できません。 オペレーティングシステム には、再配布可能なDLLの に新しい機能が追加されている可能性があります。むしろ オペレーティング・システム・プラットフォームやバージョン 番号、あなたがすべてでこれを行うべきではありません 機能自体

2

これは、標準のWindows API関数ではありません。もしあなたがどこにいるか言及すれば、もっと情報を提供することができます。

適切な方法は、達成しようとしているものによって異なります。デバッグログまたはエラーレポートを作成するには、GetVersionExに電話する必要があります。

その他の目的では、使用しようとしている実際の機能をテストしてください。多くの場合、GetProcAddressでテストし、バージョンテストをハードコードしないでください。

関連する問題