Fórum Windows não reinicia com o programa rodando #329389
14/09/2006
0
Tenho um aplicativo de backup desenvolvido em Delphi.
Ao iniciar ele vai para a area de notificação e em determinada hora ele executa o backup dos dados do computador (utiliza um Timer para verificar se está na hora).
Detalhe: O sistema operacional não reinicia, não efetua logoff, não desliga se o programa estiver rodando, mesmo que não esteja executando a operação.
O windows somente reinicia se forçar com CONTROL ou fechar o programa antes.
Alguma sugestão?
Netosdr
Curtir tópico
+ 0Posts
14/09/2006
Delphi32
Seu programa faz alguma interceptação da Mensagem do windows que ´avisa´ aos programas que ele está sendo desligado/reiniciado?
t+!
Gostei + 0
14/09/2006
Netosdr
Não tem nada no programa que ´avisa´ ao sistema operacional que o programa foi encerrado, nem nada do gênero.
É um aplicativo muito básico:
- Ao iniciar ele vai para a área de notificação
- Tem um timer que verifica se está na hora (if Time = vTime then..)
- Se for na hora, desabilita o timer
- Executa a operação (simples Winexec)
- Habilita o Timer novamente.
Basicamente isso..
Gostei + 0
15/09/2006
Rodc
Você pode também interceptar a mensagem de desligar do Windows e mandar fechar o seu sistema.
Gostei + 0
15/09/2006
Netosdr
Como fazer isso amigo?
Gostei + 0
15/09/2006
Rodc
Isto oquê? Criar o TNMSMTP dinamicamente ou pegar a mensagem do Windows?
Gostei + 0
15/09/2006
Netosdr
Gostei + 0
15/09/2006
Rodc
protected procedure WMQueryEndSession(var Msg : TWMQueryEndSession); message WM_QueryEndSession; ...... procedure TForm1.WMQueryEndSession(var Msg : TWMQueryEndSession); begin Close(); end;
Gostei + 0
15/09/2006
Rodc
protected procedure WMQuerySession(var Msg : TWMEndSession); message WM_EndSession; ...... procedure TForm1.WMEndSession(var Msg : TWMEndSession); begin Close(); end;
Gostei + 0
15/09/2006
Netosdr
- Se eu usar Close continua sem nenhuma ação, os outros programas sao encerrados, o meu aplicativo continua impedindo;
- Se eu usar Application.Terminate o aplicativo termina quando mando reiniciar, mas não reinicia, aí tenho que entrar em reiniciar de novo, aí sim funciona.
Obs: o aplicativo tem 01 form e 01 datamodule.
Gostei + 0
15/09/2006
Rodc
Gostei + 0
15/09/2006
Delphi32
caso você não use esse componente, faça testes para descobrir quem é que está impedindo o windows de desligar.
exemplo: remova o timer do projeto, compile, execute e veja se reinicia... vai fazendo assim até descobrir quem é... depois que descobrir quem é fica mais fácil de resolver...
t+!
Gostei + 0
15/09/2006
Rodc
É verdade, foi bem assim que eu descobri o erro!!! Fui removendo componentes, units, rotinas, até encontrar o que causava o erro.
Gostei + 0
15/09/2006
Netosdr
Acho que esses componentes desse fabricante dão um pouco de canseira como o colega mencionou.
Tirei ele, criei em tempo de execução e problema resolvido.
Obrigado a todos pela atenção!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)