Embora este não seja um hibernar real , o processo pode ser suspenso. Parará imediatamente de usar ciclos da CPU, mas ainda estará usando memória. Felizmente, essa memória será trocada para o arquivo de paginação, se você iniciar qualquer aplicativo que consome muita memória posteriormente, portanto não é um problema real. O processo suspenso não pode sobreviver à reinicialização \ logoff, mas isso será suficiente para jogar um jogo.
Pergunta relacionada: Suspender / retomar um processo da maneira mais fácil?
Internamente, a suspensão do processo pode ser feita através de diferentes abordagens :
Par de funções SuspendThread e ResumeThread .
NtSuspendProcess
função (não oficialmente documentada) que foi introduzida no Windows XP Sp0 e funciona em todas as versões do sistema desde então.
Depuração interface fornecida pela Microsoft, usando DebugActiveProcess e DebugActiveProcessStop funções. Quando um depurador se anexa a um processo remoto, todos os threads do destino são suspensos imediatamente até que o depurador dê um sinal para que eles sejam executados.
Há várias ferramentas disponíveis, que podem suspender um processo:
Além disso, o Monitor de Recursos ( Task Manager→ Performance→ Open Resource Monitor) no Windows Vista e superior pode suspender \ retomar processos: