응용 프로그램의 작업 집합 최상위 창을 최소화할 때 잘립니다.

기술 자료 번역 기술 자료 번역
기술 자료: 293215 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

시스템 메뉴 또는 최소화 단추 클릭하면 최소화 명령을 통해 응용 프로그램의 최상위 창을 최소화할 때 운영 체제에서 프로세스 작업 집합을 트리밍 됩니다. 이는 포그라운드 응용 프로그램에 대한 RAM을 늘리십시오. 이 트리밍 결과로 프로세스를 RAM에 다시 메모리 페이지를 오류가 중인 경우 때문에 크게 인해 성능이 저하될 수 있습니다.

추가 정보

응용 프로그램을 SW_MINIMIZE 명령 사용하여 ShowWindow() API를 호출하여 프로그래밍 방식으로 최상위 창을 최소화합니다, 프로세스의 작업 집합을 잘립니다. 그러나 작업 설정할 것입니다 없습니다 SW_SHOWMINIMIZED 명령을 사용하여 ShowWindow() 사용을 통해 창의 프로그래밍 방식으로 최소화되었을 때 잘립니다.

프로세스의 작업 집합은 현재 보이는 실제 RAM에 프로세스에 메모리 페이지의 집합입니다. 이 메모리 액세스를 페이지를 상주 있으며 페이지 폴트를 일으키지 않고 사용하도록 응용 프로그램을 사용할 수 있기 때문에 매우 빠릅니다.

프로세스 -1" dwMinimumWorkingSetSize dwMaximumWorkingSetSize 매개 변수를 전달하는 동안 SetProcessWorkingSetSize() API를 호출하여 자신의 작업 집합을 트리밍 명시적으로 있습니다. 기본적으로 이것은 최상위 창을 최소화할 때 프로세스가 시스템 어떻게 트리밍합니다. 그렇다고 해서 RAM에서 프로세스가 사용하는 메모리 페이지를 즉시 삭제됩니다. 사실, 이러한 페이지는 매우 동안 상주 남아 있습니다. 단순히 사용자가 시스템에 필요한 다른 프로세스에 사용할 수 있도록 플래그가 지정됩니다. 시스템의 표준 트리밍 알고리즘의 기다리는 것보다 훨씬 빠릅니다.

시스템 메뉴 또는 최소화 단추를 최소화 명령을 통해 창이 최소화된 창 SC_MINIMIZE 명령이 WM_SYSCOMMAND 메시지로 전송됩니다. 창 프로시저는 호출 DefWindowProc()에 의해 시스템의 기본 창 프로시저에 이 메시지를 전달합니다, 기본 프로시저를 호출 ShowWindow() SW_MINIMIZE 명령 사용하여 해당 메시지를 처리합니다. 앞에서 설명한 것처럼 이로 줄어들 수 있도록 작업 프로세스.

트리밍할 해당 작업 집합에 않고도 최소화할 수 있는 응용 프로그램을 작성할 수 있습니다. 최상위 창에 대한 창 프로시저를 이 하려면 를 WM_SYSCOMMAND 메시지를 가로챌 SW_SHOWMINIMIZED 명령 사용하여 직접 호출 ShowWindow()에 의해 SC_MINIMIZE 명령에 응답하는 합니다. DefWindowProc() SC_MINIMIZE 명령을 전달하지 않아야 합니다.

예제 코드

다음 코드에서는 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 - 마지막 검토: 2006년 11월 21일 화요일 - 수정: 5.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Win32 Application Programming Interface?을(를) 다음과 함께 사용했을 때
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP
키워드:?
kbmt kbapi kbkernbase kbmemory kbprb KB293215 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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