ID do artigo: 293215 - Última revisão: terça-feira, 21 de novembro de 2006 - Revisão: 5.1 O conjunto de trabalho de um aplicativo é cortado quando sua janela de nível superior é minimizada
Nesta páginaSintomasQuando estiver minimizada janela de nível superior do aplicativo através do comando Minimizar no seu menu de sistema ou um clique no respectivo botão Minimizar , o sistema operacional será aparar o conjunto de trabalho para o processo. Isso é feito para liberar mais memória RAM para aplicativos de primeiro plano. Como resultado dessa restrição, um processo pode enfrentar desempenho é significativamente inferior porque estão sendo falha suas páginas de memória RAM de volta. Mais InformaçõesSe um aplicativo minimiza a janela de nível superior programaticamente chamando a API ShowWindow() com o comando SW_MINIMIZE, o conjunto de trabalho do processo será cortado. No entanto, o trabalho definido será não ser cortado quando a janela está minimizada programaticamente por meio do uso de ShowWindow() com o comando SW_SHOWMINIMIZED. O conjunto de trabalho de um processo é o conjunto de páginas de memória visíveis no momento para o processo na RAM física. O acesso a essa memória é muito rápido porque as páginas são residentes e disponíveis para um aplicativo para usar sem acionar uma falha de página. Um processo pode aparar explicitamente seu próprio trabalho conjunto chamando a API SetProcessWorkingSetSize() passando "-1" para o dwMinimumWorkingSetSize e dwMaximumWorkingSetSize parâmetros. Isso é basicamente como o sistema apara o processo quando sua janela de nível superior é minimizada. Isso não significa que as páginas de memória usadas pelo processo são descartadas imediatamente da RAM. Na verdade, essas páginas podem permanecer residentes por bastante tempo. Eles simplesmente são sinalizados para que o sistema pode usá-las para outros processos conforme necessário. Isso é significativamente mais rápido que espera no algoritmo de remoção padrão do sistema. Quando uma janela está minimizada através do comando Minimizar no seu menu de sistema ou no botão Minimizar , a janela é enviada uma mensagem WM_SYSCOMMAND com o comando SC_MINIMIZE. Se o procedimento de janela passar essa mensagem no procedimento de janela padrão do sistema por DefWindowProc() chamada, o procedimento padrão tratará a mensagem por chamada ShowWindow() com o comando SW_MINIMIZE. Como mencionado anteriormente, isso fará com que o processo de trabalho definido para ser cortado. Você pode escrever um aplicativo que pode ser minimizado sem ter que seu conjunto de trabalho cortado. Para fazer isso, o procedimento de janela para a janela de nível superior deve interceptar a mensagem WM_SYSCOMMAND e responder ao comando SC_MINIMIZE por chamada ShowWindow() diretamente com o comando SW_SHOWMINIMIZED. Ele não deve passar o comando SC_MINIMIZE para DefWindowProc(). Código de exemploO código a seguir demonstra como gravar um procedimento de janela que intercepta a mensagem WM_SYSCOMMAND para ignorar o procedimento de janela padrão e impedir que o conjunto de trabalho do processo que está sendo cortada:A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 293215
(http://support.microsoft.com/kb/293215/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início