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

duvida em desligar pc e monitor


vms

Pergunta

ola pessoal!

encontrei esse comando na net pra desligar e reiniciar o pc, mas ambos só reinicia, o que pode estar errado?

WinExec('Shutdown -s -f -t 00', SW_SHOWNORMAL); //reinicia o sistema

WinExec('Shutdown -r -f -t 00', SW_SHOWNORMAL); //desliga o sistema

encontrei esse tambem pra desligar o monitor, mas não acontece nada, tinha uma "obs:" dependendo da configuraçao do monitor esse codigo não funcionaria, alguém pode ajudar?

procedure TForm1.Button1Click(Sender: TObject);

begin

SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);

end;

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

encontrei esse tambem pra desligar o monitor, mas não acontece nada

O exemplo abaixo desliga o monitor, aguarde 5 segundos e re-liga monitor.

SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);

Sleep(5000); { Aguarde 5 segundos }

SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
OBS: funciona somente para windows 95 e 98 Para o windows XP
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.
exemplo:
{Desligar o Windows}
procedure TForm1.Button1Click(Sender: TObject);
begin
    ExitWindowsEx(EWX_SHUTDOWN,0);
end;


{Efetuar novo Logon}
procedure TForm1.Button2Click(Sender: TObject);
begin
    ExitWindowsEx(EWX_LOGOFF,0);
end;


{Rebootar}
procedure TForm1.Button3Click(Sender: TObject);
begin
    ExitWindowsEx(EWX_REBOOT,0);
end;
Caso voce queira desligar ou ligar a proteção de tela
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE , 0, nil, 0); 

{Desliga a proteção de tela} 

SystemParametersInfo(SPI_SETSCREENSAVEACTIVE , 1, nil, 0); 

{Liga a proteção de tela}

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
encontrei esse tambem pra desligar o monitor, mas não acontece nada
O exemplo abaixo desliga o monitor, aguarde 5 segundos e re-liga monitor.

SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);

Sleep(5000); { Aguarde 5 segundos }

SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);

OBS: funciona somente para windows 95 e 98

No meu WindowsXP SP2 funciona, desde que você utilize o código adequado

Desligar: SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Micheus ... esta eu não tinha conhecimento. Não achei nada no help do delphi sobre o numero 2 usado para desligar o monitor.

SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);

SC_MONITORPOWER Windows 95 only: Sets the state of the display. This command supports devices that have power-saving features, such as a battery-powered personal computer.
Link para o comentário
Compartilhar em outros sites

  • 0

valeu pela atenção.

a dica de desligar o monitor deu certo, mas a de desligar o pc não.

eu fiz dessa forma

procedure TForm1.Button1Click(Sender: TObject);

begin

ExitWindowsEx(EWX_FORCE,0);

ExitWindowsEx(EWX_POWEROFF,0);

end;

ele fecha os programas abertos e reinicia o pc

sempre acontece isso, reinicia, eu queria desligar.

voces tem outra sugestao?

Link para o comentário
Compartilhar em outros sites

  • 0

Aew vms .. respondendo seu primeiro post la de cima.

WinExec('Shutdown -s -f -t 00', SW_SHOWNORMAL); //reinicia o sistema

WinExec('Shutdown -r -f -t 00', SW_SHOWNORMAL); //desliga o sistema

O correto seria

WinExec('Shutdown -r -f -t 00', SW_HIDE); //reinicia o sistema

WinExec('Shutdown -s -f -t 00', SW_HIDE); //desliga o sistema

Coloquei o Hide para não aparecer o prompt ... mais pode colocar o SW_SHOWNORMAL se preferir... Bom usei este aki em casa e funciono perfeitamente^^

Espero ter ajudado .. abraçaoooo

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...