Usuário com melhor resposta
Evitar PC entrar no modo de espera

Pergunta
-
Olá galera!
Estou criando um aplicativo e gostaria que o windows não entrasse no modo de espera enquanto esse aplicativo estiver rodando.
Já pesquisei em vários locais (inclusive fóruns). Encontrei o código abaixo:
AddHandler SystemEvents.SessionEnding, AddressOf DesligandoSistema Private Sub DesligandoSistema(ByVal sender As Object, ByVal e As Microsoft.Win32.SessionEndingEventArgs) e.Cancel = True end sub SystemEvents fica no namespace Microsoft.Win32
Mas não obtive êxito. Alguém pode me ajudar?
- Editado DaviNobre quinta-feira, 1 de outubro de 2015 15:06
Respostas
-
Tente assim:
Private Const WM_QUERYENDSESSION As System.Int32 = &H11 Private Const WM_CANCELMODE As System.Int32 = &H1F Protected Overrides Sub WndProc(ByRef ex As Message) If ex.Msg = WM_QUERYENDSESSION Then Dim MyMsg As New Message MyMsg.Msg = WM_CANCELMODE MyBase.WndProc(MyMsg) MessageBox.Show("Desligar Cancelado.") Else MyBase.WndProc(ex) End If End Sub
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Marcado como Resposta Marcos SJ sexta-feira, 2 de outubro de 2015 17:34
-
Obrigado Sr. Bruno, mas não entendi seu código..:'(
Porém encontrei o código abaixo e deu certo:
http://www.codeguru.com/columns/vb/preventing-your-monitor-from-going-to-sleep-with-visual-studio-2012.htm
É uma boa solução?
Todas as Respostas
-
Tente assim:
Private Const WM_QUERYENDSESSION As System.Int32 = &H11 Private Const WM_CANCELMODE As System.Int32 = &H1F Protected Overrides Sub WndProc(ByRef ex As Message) If ex.Msg = WM_QUERYENDSESSION Then Dim MyMsg As New Message MyMsg.Msg = WM_CANCELMODE MyBase.WndProc(MyMsg) MessageBox.Show("Desligar Cancelado.") Else MyBase.WndProc(ex) End If End Sub
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Marcado como Resposta Marcos SJ sexta-feira, 2 de outubro de 2015 17:34
-
Olá DaviNobre,
tudo bem?
Caso tenha mais alguma dúvida em relação a solução apresentada, por gentileza especifique um pouco mais sobre os detalhes que o Bruno Maestro solicitou em sua resposta.
Marcos Roberto de Souza Junior
Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Obrigado Sr. Bruno, mas não entendi seu código..:'(
Porém encontrei o código abaixo e deu certo:
http://www.codeguru.com/columns/vb/preventing-your-monitor-from-going-to-sleep-with-visual-studio-2012.htm
É uma boa solução?