• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

km92

Prevenir encerramento por Alt+F4

8 mensagens neste tópico

Boas!

Queria saber como posso prevenir que o programa seja encerrado se o utilizador fizer Alt+F4 e queria perguntar se existem outros códigos tipo este, que também sirvam para fechar programas, como para o gestor de tarefas por exemplo, abre com Ctrl+Alt+Del e também com Ctrl+Shit+Esq.

Thanks

Edit: E já agora se fosse possível, bloquear as teclas Atl+Tab. Já tentei várias formas que encontrei pela net mas nenhuma funcionou para mim  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a unica maneira que eu sei é alterando chaves no regedit se estiveres interessado diz-me as teclas que eu posto aqui ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas não é isso que quero, só quero bloquear para o meu programa, e se o programa crashar o utilizador tinha de saber mexer no registo para voltar ao normal :S

Não há outra maneira?

Obrigado na mesma

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A unica maneira que vejo assim de repente é testares as teclas no keydown ou qq coisa do genero... mas rancamente...fazer um teste cada vez que primes uma tc e capaz de tornar o programa um bocadito para o lento.

Não estou a ver outra forma...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A unica maneira que vejo assim de repente é testares as teclas no keydown ou qq coisa do genero... mas rancamente...fazer um teste cada vez que primes uma tc e capaz de tornar o programa um bocadito para o lento.

Mas isso não evita o ctrl  + alt + del, se o focus não estiver no formulário.

Mas para o alt + F4 é simples, no evento closing testas se foste tu que mandas-te fechar o programa (com uma flag, por exemplo), senão cancelas o fecho do programa, mas acho que isso não funciona para o ctrl + alt +del.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para o Ctrl+Alt+Del não há problema porque consigo dar a volta, basta verificar, num timer, se o processo taskmgr.exe está em execução, e se sim termina-se o processo.

Em relação ao closing event, podes-me dizer melhor como funciona? Ainda estou a aprender  :D

Edit: Já consegui com este código:

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        e.Cancel = True
    End Sub

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas agora mantém-se a questão... Como bloqueio as teclas Alt+Tab;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ainda não devem te devem ter respondido. Para cancelar o CTRL+ALT+DEL não dá. Ou fazes isso do de matar o tskmngr ou então fazes como eu, sempre que o nome do form em focus muda ele carrega em ESC e nao dá para aceder ao gestor de tarefas ehehehe.

Para bloquear ALT+f4 e ALT+TAB tens de usar uma api.

  Public Declare Function BlockInput Lib "user32" Alias "BlockInput" (ByVal fBlock As Integer) As Integer

me.BlockInput(System.Threading.Timeout.Infinite)

Isto bloqueia tudo, menos o CTRL+ALT+DEL.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora