ما هي الاختلافات الرئيسية بين البرمجة لنظامي التشغيل Windows XP وVista؟

StackOverflow https://stackoverflow.com/questions/22674

  •  09-06-2019
  •  | 
  •  

سؤال

من وجهة نظر مطور تطبيقات سطح المكتب، هل هناك فرق بين التطوير لنظام التشغيل Windows XP والتطوير لنظام التشغيل Windows Vista؟

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

المحلول

واجهة المستخدم

أنظر إلى إرشادات تجربة مستخدم Windows Vista يمكنك أن ترى أنهم قاموا بتغيير العديد من عناصر واجهة المستخدم، والتي يجب أن تكون على علم بها.بعض الأشياء الرئيسية التي يجب مراعاتها:

64 بت

يحتوي نظام التشغيل Vista على إصدار 64 بت، وعلى الرغم من أن نظام التشغيل XP يحتوي أيضًا على إصدار 64 بت، فمن المرجح أن يستخدم المستخدمون نظام التشغيل Vista 64 بدلاً من الإصدار XP 64.الآن عليك أن تتعامل مع:

حملات المستخدم العامة

التحكم في حساب المستخدم يؤثر بشكل كبير على الأذونات الافتراضية التي يتمتع بها تطبيقك عند التفاعل مع نظام التشغيل.

واجهات برمجة التطبيقات الجديدة

هناك واجهات برمجة تطبيقات جديدة تستهدف إما الطرق الجديدة لإنشاء التطبيقات أو السماح بوظائف جديدة:

المثبتون

نظرًا لأن عمليات التثبيت يمكنها فقط استخدام أوقات التشغيل الشائعة التي يتم تثبيتها بعد اكتمال المعاملة، الإجراءات المخصصة سوف تفشل إذا كان الإجراء المخصص لديك يتطلب أوقات تشغيل Visual C++ أعلى من VS 2005 CRT (غير SP1).

نصائح أخرى

لا أبدًا افترض أن المستخدم الخاص بك لديه حق الوصول إلى مناطق رئيسية معينة من القرص (أي.ملفات البرنامج، دليل ويندوز الخ).وبدلاً من ذلك، لن يتمكن حساب المستخدم الافتراضي إلا من الكتابة إلى قسم صغير من بيانات التطبيق الخاصة به.كما أنهم لن يتمكنوا من الكتابة إلى المناطق العامة بالتسجيل - فقط قسم المستخدم الحالي.

يمكنك بالطبع رفع امتيازاتهم، لكن هذا في حد ذاته مهمة.

بشكل عام، البرمجة لنظام التشغيل Vista هي نفس برمجة XP، إنها مجرد قيود الحساب الجديدة التي يجب عليك الحذر منها.

ألقِ نظرة على هذه الصفحة فيما يتعلق بجعل تطبيقك "مدركًا لـ UAC"

http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx

يمكن أن يكون هناك، ولكن هذا هو الاختيار الواعي الذي تتخذه كمطور.يمكنك استخدام عناصر نظام التشغيل Vista الجديدة، مثل UAC وCommandLinks وAero وما إلى ذلك.لكن ليس عليك القيام بذلك (حتى UAC يمكن برمجته - فقط لا تفعل أي شيء يحتاج إلى امتيازات المسؤول).إذا اخترت تجاهل كافة عناصر نظام التشغيل Vista، فلن يكون هناك فرق بين الاثنين على الإطلاق.

إذا كنت تريد تضمين هذه الأشياء في تطبيقك، فهذا يحدث فرقًا.ولكن أود أن أقول ليست واحدة ضخمة.وإذا قمت بتجريد الاختلافات (على سبيل المثال، اكتب وظيفتك الخاصة التي تعرض TaskDialog لنظام التشغيل Vista، ولكنها تقلل من المدخلات التي تقدمها في MesssageBox على XP)، فستكتب فقط مقابل الكود الخاص بك، وستبدو الاختلافات وكأنها لا شيء تقريبًا.

بالإضافة إلى ذلك، فإن الكثير من عناصر نظام التشغيل Vista الجديدة (على سبيل المثال، UAC أو Aero) هي أشياء تقلق بشأنها مرة واحدة، عندما تقوم بإنشاء أول وظيفة تستخدمها، وتجعلها تعمل، ثم لا تفكر فيها أبدًا مرة أخرى أثناء وجودك تطوير التطبيق.

إلى حد بعيد، الجزء الأكثر إيلامًا في نقل تطبيق ما من XP إلى Vista (من وجهة نظري) هو التعامل مع الخدمات العديدة وعناصر IPv6 التي تستخدم المنافذ التي كانت مجانية سابقًا، والتعامل مع التزويد اللاسلكي -> انتقال WiFi الأصلي.

تعتبر عناصر UAC في الأساس نقطة خلافية؛هناك القليل جدًا الذي يتعين على مطور التطبيق القيام به.

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