Ir para conteúdo
Fórum Script Brasil
  • 0

SetPriorityClass como usar?


RogerioMOYANO

Pergunta

ola para diminuir a Prioridade de processamento de um programa eu estou usando>>> SetPriorityClass(GetCurrentProcess, IDLE_PRIORITY_CLASS);

so que gostaria de diminuir Prioridade de processamento de um programa especifico ex: aperto um botao no meu form ele ira executar tal programa(a funçao de executar um programa eu já sei) e diminuir sua Prioridade de processamento. Obrigado!!!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
ola para diminuir a Prioridade de processamento de um programa eu estou usando>>> SetPriorityClass(GetCurrentProcess, IDLE_PRIORITY_CLASS);

so que gostaria de diminuir Prioridade de processamento de um programa especifico ex: aperto um botao no meu form ele ira executar tal programa(a funçao de executar um programa eu já sei) e diminuir sua Prioridade de processamento. Obrigado!!!

Um pequeno resumo para quem quer aprender

Prioridade de um processo determina como a respectiva execução está agendada pelo kernel de Win32. Processos com uma prioridade mais alta executado mais rapidamente do que processos com uma prioridade mais baixa.

Win32 suporta as seguintes classes de quatro prioridade:

Inactivo

Normal

Alta

Tempo real

Inactivo é a prioridade correcta para aplicações de monitorização do sistema ou proteções de ecrã.

Classe de prioridade normal é a predefinição, indicando um processo com não necessidades especiais de agendamento.

Alta prioridade indica um processo que desempenha tarefas críticas do tempo que requer execução imediata para poder funcionar correctamente. Os threads do processo de classe de prioridade alta têm precedência sobre os threads dos processos de classe de prioridade normal ou inativo. Um exemplo é a lista de tarefas do Windows, que deve responder rapidamente quando chamado pelo utilizador, independentemente da carga do sistema operativo.

Cuidado extremo quando utilizar a classe de prioridade alta, dado uma classe de prioridade alta ligados à CPU aplicação pode utilizar ciclos quase disponíveis.

A prioridade de tempo real indica um processo que tem a prioridade mais elevada possível. Os threads de um processo de classe de prioridade em tempo real têm precedência sobre os threads de todos os outros processos, incluindo processos do sistema operativo executar tarefas importantes. Por exemplo, um processo em tempo real que executa para mais do que um intervalo muito breve pode causar caches de disco não limpar ou fazer com que o mouse pare de responder. Quase nunca deve ser utilizada esta prioridade.

Na verdade podemos usar um comando do MSDOS para alterar a prioridade de um Processo

Syntax

Starts a separate window to run a specified program or command.

START ["title"] [/Dpath] [/MIN] [/MAX] [/sEPARATE | /SHARED]

[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]

[/WAIT] [command/program]

[parameters]

"title" Title to display in window title bar

path Starting directory

/B Start application without creating a new window. The application has ^C handling ignored. Unless the application enables ^C processing, ^Break is the only way to interrupt the application

/I The new environment will be the original environment passed to the cmd.exe and not the current environment

/MIN Start window minimized

/MAX Start window maximized

/SEPARATE Start 16-bit Windows program in separate memory space

/SHARED Start 16-bit Windows program in shared memory space

/LOW Start application in the IDLE priority class

/NORMAL Start application in the NORMAL priority class

/HIGH Start application in the HIGH priority class

/REALTIME Start application in the REALTIME priority class

/ABOVENORMAL Start application in the ABOVENORMAL priority class

/BELOWNORMAL Start application in the BELOWNORMAL priority class

/WAIT Start application and wait for it to terminate

command/program If it is an internal cmd command or a batch file then the command processor is run with the /K switch to cmd.exe.

This means that the window will remain after the command has been run.

If it is not an internal cmd command or batch file then it is a program and will run as either a windowed application or a console application.

parameters These are the parameters passed to the command/program

De uma maneira bem simples, vai um exemplo de como diminuir a prioridade da execução do Delphi

Neste exemplo, mostra como alterar a prioridade de execução do delphi para Abaixo do Normal

Voce pode verificar o resultado no Gerenciador de Tarefas do Windows

procedure TForm1.Button1Click(Sender: TObject);
begin
   winexec(pchar('C:\WINDOWS\system32\cmd.exe /c START /BELOWNORMAL /B Delphi32.exe'),SW_HIDE);
end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...