أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

يتم اقتطاعها مجموعة عمل من أحد التطبيقات عند تصغير إطار المستوى الأعلى الخاص به

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

اضغط هنا لرابط المقالة باللغة الانجليزية293215
الأعراض
عند تصغير إطار أحد التطبيقات ذات المستوى الأعلى خلال الأمر "تصغير" من قائمة النظام الخاص به أو انقر على الزر "تصغير" الخاص به سيتم قطع النظام مجموعة العمل العملية. يتم ذلك لتحرير RAM للتطبيقات المقدمة. نتيجة هذا التنظيم قد تواجه إحدى العمليات الأداء بشكل ملحوظ poorer لأنه يتم الآن خاطئة صفحات الذاكرة الخاصة به مرة أخرى في RAM.
معلومات أخرى
إذا كان تطبيق تصغير إطار المستوى الأعلى الخاص به بشكل برمجي بواسطة استدعاء API ShowWindow() بواسطة الأمر SW_MINIMIZE ، يمكن تقسيم مجموعة العمل العملية. ومع ذلك، تعيين العمل سيتم لا اقتطاعها عند تصغير الإطار برمجياً خلال بذلك استخدام من ShowWindow() الذي بواسطة الأمر SW_SHOWMINIMIZED.

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

يمكن عملية تشذيب مجموعة العمل الخاصة به بشكل صريح عن طريق استدعاء API SetProcessWorkingSetSize() أثناء تمرير "-1" معلمات dwMinimumWorkingSetSize و dwMaximumWorkingSetSize. هذا بشكل أساسي كيفية إخفاء النظام حواف العملية عند تصغير إطار المستوى الأعلى الخاص به. هذا لا يعني أنه يتم تجاهل صفحات الذاكرة تستخدم بواسطة العملية مباشرة من RAM. في الحقيقة، قد تظل هذه الصفحات المقيمة لفترة تماماً. يتم وضع هذه ببساطة بحيث يمكن استخدامها النظام لعمليات أخرى حسب الضرورة. هذا أسرع بشكل ملحوظ من انتظار خوارزمية الاقتطاع القياسية الخاصة بالنظام.

عند تصغير إطار خلال الأمر "تصغير" من قائمة النظام الخاص به أو الزر تصغير الإطار إرسال رسالة WM_SYSCOMMAND بواسطة الأمر SC_MINIMIZE. إذا مرت الإجراء إطار هذه الرسالة إلى الإجراء الإطار الافتراضي للنظام بواسطة DefWindowProc() الاستدعاء ، سيقوم بمعالجة الإجراء الافتراضي الرسالة بواسطة استدعاء ShowWindow() بواسطة الأمر SW_MINIMIZE. كما هو مذكور السابقة ، سيؤدي ذلك عملية تعمل مجموعة يتم اقتطاعها.

يمكنك كتابة أحد تطبيقات التي يمكن تصغير دون الحاجة مجموعة العمل الخاصة بها اقتطاعها. للقيام بهذا الإجراء الإطار لإطار المستوى الأعلى يجب أن تعترض الرسائل WM_SYSCOMMAND والاستجابة الأمر SC_MINIMIZE وذلك ShowWindow() الاستدعاء مباشرة بواسطة الأمر SW_SHOWMINIMIZED. يجب أن ذلك لا تمرير الأمر SC_MINIMIZE على DefWindowProc().

رمز نموذج

التعليمة البرمجية التالية يوضح كيفية كتابة إجراء إطار تعترض الرسائل WM_SYSCOMMAND تجاوز الإجراء الإطار الافتراضي ومنع مجموعة العمل العملية يتم اقتطاعها:
LRESULT CALLBACK WndProc (HWND hWnd, UINT iMsg, WPARAM wParam,       LPARAM lParam) {   switch (iMsg) {      case WM_SYSCOMMAND:         if (wParam == SC_MINIMIZE) {            // programmatically minimize the window            ShowWindow(hWnd, SW_SHOWMINIMIZED);            // do not pass the minimize command on to the system's            // default window procedure            return 0;         }         // allow other system commands to be passed on to the         // default window procedure         break;       // handle other window messages here...      case WM_WHATEVER:         break;   }   return DefWindowProc(hWnd, iMsg, wParam, lParam);}				

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 293215 - آخر مراجعة: 11/21/2006 15:36:05 - المراجعة: 5.1

Microsoft Win32 واجهة برمجة تطبيقات

  • kbmt kbapi kbkernbase kbmemory kbprb KB293215 KbMtar
تعليقات
html>>tml>l>dy>>html> © 2016 Microsoft