Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Çalışma kümesi, bir uygulamanın en üst düzey alt pencere simge durumuna küçültüldüğünde kesildikten

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:293215
Belirtiler
Işletim sistemi, kendi Sistem menüsünü veya bir simge durumuna küçült düğmesini tıklatın <a2>simge durumuna küçült</a2> komutu ile bir uygulamanın en üst düzey pencere küçültüldüğünde, işlemin çalışma kümesinde kesim. Bu ön uygulamaları için RAM boşaltmak için yapılır. Kendi bellek sayfası yeniden RAM içinde hatalı çünkü bu kesme sonucu olarak, işlem ilgili güvenlik açıklarına karşı önemli ölçüde poorer performansıyla karşılaşabilirsiniz.
Daha fazla bilgi
Uygulama penceresi en üst düzey programsal olarak SW_MINIMIZE komutuyla ShowWindow() APı'SINI çağırarak azaltır, işlemin çalışma kümesinde kesildikten. Ancak, bu çalışan olacak ayarlar değil SW_SHOWMINIMIZED komutuyla pencere ShowWindow() kullanılarak programsal olarak küçültüldüğünde kesildikten.

Bir işlemin çalışma kümesi görünür fiziksel RAM bulunan işlem için bellek sayfalarını, kümesidir. Sayfaları var ve bir sayfa hatası uyarının harekete geçirilmesine karşılık olmadan kullanılacak bir uygulama için kullanılabilir olduğundan, bu bellek erişimi çok hızlıdır.

Bir işlemi açıkça kendi çalışma "-1" dwMinimumWorkingSetSize hem dwMaximumWorkingSetSize parametrelerini geçirilmesi sırasında SetProcessWorkingSetSize() APı'SINI çağırarak kesebilirsiniz. Bu, aslında en üst düzey alt pencere simge durumuna küçültüldüğünde sistem işlemi nasıl kırpar olur. Bu işlem tarafından kullanılan bellek sayfaları RAM ' hemen atılan anlamına gelmez. Aslında, bu sayfaları oldukça bir süre için yerleşik kalabilir. Sistem bunları gerektiği gibi diğer işlemler için kullanın böylece bunlar yalnızca bayrakla işaretlenir. Bu, sistemin standart kesme algoritmasına bekleyen daha önemli ölçüde daha hızlı bir yöntemdir.

Bir pencereyi simge durumuna küçült komutu, bir Sistem menüsü veya simge durumuna küçült düğmesi aracılığıyla küçültüldüğünde, pencerenin SC_MINIMIZE komutuyla WM_SYSCOMMAND ileti gönderilir. Pencere yordamı tarafından arama DefWindowProc() sistemin varsayılan pencere yordamı için bu iletinin geçiyorsa, varsayılan yordam tarafından SW_MINIMIZE komutuyla arama ShowWindow() iletinin işleyecektir. Bu, daha önce belirtildiği gibi kesildikten şekilde çalışma işlemi neden olur.

Kesildikten kendi çalışma kümesi'ni açmadan simge bir uygulama yazabilirsiniz. Bunu yapmak için <a0></a0>, en üst düzey pencere için pencere yordamı WM_SYSCOMMAND iletinin yakalamak ve arama ShowWindow() SC_MINIMIZE komutuyla SW_SHOWMINIMIZED komutuyla doğrudan yanıt gerekir. SC_MINIMIZE komutuna DefWindowProc() üzerinde yönteme değil.

Örnek kod

Aşağıdaki kodda, WM_SYSCOMMAND iletinin varsayılan pencere yordamı atlayıp kesildikten işlem çalışma kümesini önlemek için karşılar penceresi bir yordam yazmak gösterilmiştir:
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);}				

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 293215 - Son İnceleme: 11/21/2006 15:36:05 - Düzeltme: 5.1

Microsoft Win32 Uygulama Programlama Arabirimi

  • kbmt kbapi kbkernbase kbmemory kbprb KB293215 KbMttr
Geri bildirim