Pracovní sada aplikace je oříznuta při minimalizaci jeho okno nejvyšší úrovně

Překlady článku Překlady článku
ID článku: 293215 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při minimalizaci aplikace okno nejvyšší úrovně pomocí příkazu Minimalizovat z jeho systémové nabídky nebo klepněte na jeho tlačítko Minimalizovat operačního systému střihu pracovní sady procesu. Důvodem pro popředí aplikace uvolněte RAM. Z tohoto oříznutí procesu významně nižší výkon může protože jeho paměťové stránky jsou právě do RAM selhal.

Další informace

Pokud aplikace programově minimalizuje jeho okno nejvyšší úrovně voláním API ShowWindow() pomocí příkazu SW_MINIMIZE, pracovní sada procesu oříznuta. Však nastavit pracovní bude není oříznuta při okna programově minimalizaci prostřednictvím použití z ShowWindow() pomocí příkazu SW_SHOWMINIMIZED.

Pracovní sada procesu je sada stránek paměti aktuálně viditelné proces ve fyzické paměti RAM. Přístup k této paměti je velmi rychlé, protože stránky jsou rezidentní a k dispozici pro aplikace bez upozorněním neplatnost stránky použít.

Proces lze explicitně střihu vlastní práci sadu voláním API SetProcessWorkingSetSize() při předávání parametrů dwMinimumWorkingSetSize a dwMaximumWorkingSetSize "-1. Toto je v podstatě jak systému zkrátí proces při minimalizaci jeho okno nejvyšší úrovně. To neznamená, že stránek paměti používané procesem okamžitě ignorovány z RAM. Ve skutečnosti tyto stránky může zůstat rezidentní poměrně chvíli. Jednoduše jejich jsou označeny tak, aby systém lze použít pro jiné procesy podle potřeby. Toto je výrazně rychlejší než čekání na standardní oříznutí algoritmu v systému.

Při minimalizaci okna prostřednictvím příkazu Minimalizovat z jeho systémové nabídky nebo tlačítko Minimalizovat okno odeslána zpráva WM_SYSCOMMAND pomocí příkazu SC_MINIMIZE. Pokud procedura okna předá tuto zprávu do procedury okno výchozí v systému podle volajícího DefWindowProc(), výchozí postup bude zpracovávat zprávy podle volajícího ShowWindow() pomocí příkazu SW_MINIMIZE. Jak bylo uvedeno dříve, to způsobí proces pracovní sada být oříznuta.

Můžete napsat aplikaci, která lze minimalizovat bez nutnosti jeho pracovní sadu oříznuta. K tomu byste postup okno okno nejvyšší úrovně zachytit zpráva WM_SYSCOMMAND a reagovat příkaz SC_MINIMIZE podle volajícího ShowWindow() přímo pomocí příkazu SW_SHOWMINIMIZED. Měli není předat SC_MINIMIZE příkazu k DefWindowProc().

Ukázkový kód

Následující kód demonstruje proceduru okna zachycuje zpráva WM_SYSCOMMAND obejít výchozí postup okno a zabránit právě oříznuta pracovní sada procesu zápisu:
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);
}
				

Vlastnosti

ID článku: 293215 - Poslední aktualizace: 21. listopadu 2006 - Revize: 5.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Win32 Application Programming Interface na těchto platformách
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP
Klíčová slova: 
kbmt kbapi kbkernbase kbmemory kbprb KB293215 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:293215

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com