سؤال

كنت أبحث في بعض رمز و كان هذا الخط: #define WINVER 0x0501 في stdafx.h الملف ؟ لماذا تحتاج إلى تعريف WINVER?كيف تؤثر رمزك ؟ يمكن للشخص يرجى شرح ؟

هل كانت مفيدة؟

المحلول

وWINVER يحدد الحد الأدنى للمنصة SDK المطلوبة لإنشاء التطبيق الخاص بك، والتي بدورها ستحدد في وقت الترجمة التي توجد الروتينية من قبل رؤوس.

ويمكنك استخدام هذه للتحقق، في وقت الترجمة، هذا التطبيق الخاص بك سوف تعمل على ويندوز 2000 (0x0500)، على سبيل المثال، أو على نظام التشغيل Windows XP (0x0501).

الصفحة MSDN على التعديل WINVER _WIN32_WINNT و يذهب الى هذا بمزيد من التفاصيل.

و

نصائح أخرى

وWINVER يحدد الحد الأدنى لنظام ويندوز يمكن تشغيل البرنامج على. هناك تفسير أكثر تفصيلا في MSDN . ما #define WINVER 0x0501 يعني أن البرنامج يتطلب ويندوز XP أو Server 2003 لتشغيل، وأنه يمكن بالتالي استخدام وظائف ويندوز حتى من خلال هذا الإصدار.

وWINVER يعني نسخة ويندوز. باختصار، إذا كنت بناء للحصول على إصدار معين من نظام التشغيل Windows، تتوفر التي لا تتوفر في الإصدارات السابقة بعض واجهات برمجة التطبيقات.

من خلال تحديد WINVER ماكرو من إظهار مجموعة من الوظائف معين نسخة ويندوز.فعلى سبيل المثال ، إذا كنت تعرف أنها #define WINVER 0x0502 سوف لا تكون قادرة على استخدام TaskDialog والذي يتوفر فقط في نظام التشغيل Windows Vista.لمزيد من التفاصيل يمكنك قراءة باستخدام ويندوز رؤوس المادة في MSDN.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top