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

[resolvido] Desligar Pc Com Tempo Determinado


vms

Pergunta

ola pessoal

queria fazer um programa pra desligar o pc, com um edit (ou qualquer outro componente que der certo) onde eu possa determinar o tempo pra o pc ser desligado

eu sei que dar pra fazer isso com um time. mas não sei o comando

alguém pode me ajudar?

valeu pela atençao!!!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Guest --Jonas --
ola pessoal

queria fazer um programa pra desligar o pc, com um edit (ou qualquer outro componente que der certo) onde eu possa determinar o tempo pra o pc ser desligado

eu sei que dar pra fazer isso com um time. mas não sei o comando

alguém pode me ajudar?

valeu pela atençao!!!

Para desligar, reiniciar, resetar ou dar logout no sistema,

use a função ExitWindowsEx, como abaixo:

ExitWindowsEx (uFlags, 0);

onde uFlags é o tipo de reinicialização que vai ocorrer.

Valores de uFlags:

EWX_FORCE - Força todos os processos a terminar.

Ao invés de aparecer a mensagem "A aplicação não está respondendo",

ele força o programa que não responde a finalizar.

EWX_LOGOFF - Faz "logout" do sistema, ou seja, volta à tela de login

(a que pede nome e senha)

EWX_POWEROFF - Desliga o computador

(caso o computador não tenha o recurso de auto-desligamento,

ele fecha todos os programas e informa que o sistema pode ser desligado).

EWX_REBOOT - Reinicializa o computador

(o equivalente a pressionar Ctrl+Alt+Del)

EWX_SHUTDOWN - Fecha todos os programas e informa

ao usuário que é seguro desligar o computador.

A função retorna True se funcionar, ou False em outro caso

Usuários NT: verifique se o usuário tem o direito a desligar

o computador em sua lista de privilégios.

Se quiser coloque o comando dentro de um timer e especifique o tempo que levara para desligar ...ok ?

Link para o comentário
Compartilhar em outros sites

  • 0

Oi.

Para desligar o pc, é simples... use o

ExitWindowsEx(EWX_SHUTDOWN,0);

Agora... tenha em mente que isso pode não ser muito seguro se alguma aplicação não for preparada para fazer seu encerramento completo (tabelas de bancos de dados que podem estar abertas e não façam o devido "commit" antes de serem encerradas) ao detectar que o computador está sendo desligado...

Usamos este comando em um programa de caixa (com impressora fiscal), que, ao fechar, pergunta ao operador se ele vai também desligar o computador (a pergunta é opcional)...

Já na firma em que trabalho o servidor desliga, ou melhor, hiberna, automaticamente, depois de (acho) quatro horas parado (controlado pelo gerernciador de energia do próprio XP), e isso geralmente acontece às dez da noite... ele liga sozinho às 6:00 da manhã...

O meu computador também hiberna sozinho, duas horas depois de inativo (geralmente às oito da noite)... ele liga sozinho às 08:00... assim, quando chego, ele já tá pronto para uso, já atualizou o antivirus, já fez as varreduras e pronto...

Estes recursos podem ser bem interessantes, conforme necessário... e acho que vale a pena dar uma experimentada neles...

Ok?

Link para o comentário
Compartilhar em outros sites

  • 0

ola pessoal

peguei a dica de voces e fiz assim

procedure TForm1.Timer1Timer(Sender: TObject);

begin

ExitWindowsEx(EWX_POWEROFF,0);

end;

e fiz tambem assim

procedure TForm1.Timer1Timer(Sender: TObject);

begin

ExitWindowsEx (uFlags, 0);

end;

com um time e no interval coloquei 5000

não aconteceu nada

fiz algo errado?

obrigado pela atençao galera!!!

Link para o comentário
Compartilhar em outros sites

  • 0
com um time e no interval coloquei 5000

não aconteceu nada

fiz algo errado?

A pergunta óbvia é: você habilitou o timer?

Se sim, houve falha ao executar a função. Você pode colocar um if para testar se a função executou ou não e daí ter uma mensagem de retorno.

Pode ser uma questão de privilégios, talvez. Dá uma olhada neste post, pode lhe ajudar.

Veja também a documentação sobre a função no msdn.

Sobre o flag para desligar:

EWX_POWEROFF: Shuts down the system and turns off the power. The system must support the power-off feature.

The calling process must have the SE_SHUTDOWN_NAME privilege. For more information, see the following Remarks section.

Abraços

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...