مشكلات وظيفة CreateWindowEx لتطبيقات 32 بت في Windows 10

في بعض الحالات ، بعد الترقية إلى إصدار أحدث ، يتسبب Windows 10 في حدوث أعطال أو مشكلات أخرى عندما يستدعي وظيفة CreateWindowEx من (CreateWindowEx)msctf.dll عند إنشاء النوافذ في بعض تطبيقات 32 بت. في هذا المنشور ، سوف نفهم ماهية  وظيفة CreateWindowEx - استكشاف الأسباب المحتملة لخطأ الوظيفة هذا ثم تقديم الحل الموصى به للتخفيف من المشكلة.

فهم وظيفة CreateWindowEx

دالة CreateWindowEx

تطبيقات Windows(Windows) ، بما في ذلك تطبيقات .NET التي تستخدم Windows Forms أو Windows Presentation Foundation ( WPF ) ، تنشئ النوافذ الخاصة بها عن طريق استدعاء وظائف CreateWindowExA أو CreateWindowExW .

تستدعي كلتا الوظيفتين داخليًا وظيفة USER32 الشائعة التي ستقوم ببعض التحقق من صحة المعلمة ، مثل أنماط النافذة والمقابض المحددة في المكالمة ، والتعامل مع إنشاء نافذة MDI التابعة إذا تم تحديد نمط النافذة الموسعة WS_EX_MDICHILD ومعالجة سياق التنشيط الحالي للاتصال مسلك. إذا كان كل شيء جيدًا على جانب USER32(USER32-side) من استدعاء CreateWindowEx ، فإنه يستدعي تطبيق وضع kernel ( WIN32K ) لـ CreateWindowEx .

سيقوم CreateWindowEx(CreateWindowEx) بتنفيذ المهام التالية عند محاولة إنشاء كائن نافذة جديد:

  • حدد ما إذا كان إنشاء مؤشر لكائن النافذة الجديدة سيتجاوز  حد حصة معالجة المستخدم(User) لعملية الاستدعاء.
  • يخصص الذاكرة لكائن النافذة الجديدة من كومة سطح المكتب.
  • تهيئة الذاكرة لكائن النافذة الجديدة.
  • يقوم بإنشاء مقبض لكائن النافذة الجديدة في جدول مقبض المستخدم .(User)

أسباب فشل CreateWindowEx

يتم تعداد بعض الشروط التي يمكنها تشغيل مشكلة دالة CreateWindowEx على النحو التالي:(CreateWindowEx)

  • فئة النافذة المحددة غير موجودة.
  • استخدام أنماط نافذة غير صالحة أو أنماط نافذة ممتدة.
  • استخدام مقابض مستخدم(User) غير صالحة ، مثل مقابض النوافذ ومقابض القوائم.
  • محاولة إنشاء نافذة فرعية بدون تحديد نافذة أصل.
  • محاولة إنشاء نافذة فرعية أو نافذة مملوكة وينتمي الوالد / المالك المحدد إلى سطح مكتب مختلف عن مؤشر الترابط المتصل.
  • سيتجاوز إنشاء نافذة تابعة أو مملوكة لحد النافذة المتداخلة.
  • سيتجاوز إنشاء كائن نافذة جديد حصة المؤشر لعملية الاستدعاء.
  • لا توجد كومة كافية متوفرة في كومة سطح المكتب لتخصيص ذاكرة لكائن النافذة الجديدة.
  • لا توجد إدخالات متوفرة في جدول مقبض المستخدم .(User)

إصلاح مشكلات وظيفة CreateWindowEx(Fix CreateWindowEx) لتطبيقات 32 بت في Windows 10

قدمت Microsoft(Microsoft) حلاً بديلاً لمشكلات دالة CreateWindowEx .

للتغلب على هذه المشكلة ، سيتعين عليك التراجع عن تثبيت Windows 10 إلى الإصدار السابق.

يتوفر خيار التراجع في نظام التشغيل Windows 10(Windows 10) لمدة 10 أيام(10 days) (في معظم الحالات) بعد ترقية تثبيت Windows 10.

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

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

That’s it!

ملاحظة(PS) : تعمل Microsoft على إيجاد حل وستوفر تحديثًا في الإصدار القادم من Windows 10 .



About the author

أنا مسؤول Windows 10 و Windows 11/10 ذو خبرة ولدي بعض الخبرة في Edge. لدي ثروة من المعرفة والخبرة لأقدمها في هذا المجال ، ولهذا السبب أعتقد أن مهاراتي ستكون رصيدًا قيمًا لشركتك. تمنحني سنوات خبرتي في كل من Windows 10 و Edge القدرة على تعلم التقنيات الجديدة بسرعة وحل المشكلات بسرعة وتحمل المسؤولية عندما يتعلق الأمر بإدارة عملك. بالإضافة إلى ذلك ، فإن تجربتي مع Windows 10 و Edge تجعلني على دراية كبيرة بجميع جوانب نظام التشغيل ، مما سيكون مفيدًا لإدارة الخوادم أو إدارة تطبيقات البرامج.



Related posts