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

km92

Bloquear atalhos do windows

25 mensagens neste tópico

Boas!

Queria saber como posso bloquear os atalhos Alt+Tab e Windows+L, durante a execução do programa.

Desde já agradeço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva,

Nunca exprimentei mas é possivel bloquear isso atraves do evento KEYPRESS, basta saber key codes asciis das teclas e qd elas sao pressionadas nao fazer nada ou fazem aquilo que pretendes.... tenta procurar no google por isso "Vb.net Event KeyPress"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@freaklori: pode ser erro meu, mas acho que isso só não faz com que aconteça nada no programa, pois o Windows tem essas teclas configuradas no próprio sistema, logo acho que as teclas continuam a actuar.

Digo eu ;) Questão de experimentar :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exacto, também já tinha tentado isso mas sem sucesso :S

Não haverá outra maneira?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@freaklori: pode ser erro meu, mas acho que isso só não faz com que aconteça nada no programa, pois o Windows tem essas teclas configuradas no próprio sistema, logo acho que as teclas continuam a actuar.

Digo eu ;) Questão de experimentar :P

Pois.. possivelmente nao funcionará.. tal como disse nao testei.. mas ja utilizei o evento KEYPRESS para um jogo que fiz.. movendo um control no form nada mais...

Dai pensar que o procedimento para as teclas pre-configuradas do windows fosse o mesmo!

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto desabilita o alt+tab

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"CoolSwitch"="1"

Como não sei especificamente para o Windows+L deixo aqui o código que desabilita todas as combinacoes do Windows como Windows+e etc etc etc

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

"noWinKeys"=dword:00000001

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

voltamos ao mesmo, registo :)

só uma coisa, enquanto tens o programa activo, estas teclas sao desactivadas ok,mas uma vez fechado, tens q restituir o funcionamento correcto do sistema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

voltamos ao mesmo, registo :)

só uma coisa, enquanto tens o programa activo, estas teclas sao desactivadas ok,mas uma vez fechado, tens q restituir o funcionamento correcto do sistema.

Lê-se os valores no início do programa, grava-se em string, e no fim altera-se para o valor das strings respectivas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu nao disse q nao dava para fazer ou perguntei como s fazia, só alertei para esse facto :)

outra forma de desactivar alguma dessas teclas é criares um timer q termine o explorer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu nao disse q nao dava para fazer ou perguntei como s fazia, só alertei para esse facto :(

outra forma de desactivar alguma dessas teclas é criares um timer q termine o explorer.

Mas a não ser que a aplicaçãO seja fullscreen, ficares sem o explorer.exe  a nível visual não é muito agradável :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas!

Queria saber como posso bloquear os atalhos Alt+Tab e Windows+L, durante a execução do programa.

Desde já agradeço

O ALT+Tab podes ver como bloquear aqui http://vbtuga.blogspot.com/2008/09/vbnet-criando-hotkeys-teclas-de-atalho.html

Não testei o Windows+L mas podes tentar e depois diz qualquer coisa.

Para bloqueares algumas combinações, como o caso do CTRL+ALT+DEL, a melhor forma e mais simples é modificando o registry do Windows. O Windows xp utiliza uma coisa chamada Secure Attention Sequence (SAS) e para alterar o funcionamento é preciso manipular o dll GINA ou criar um personalizado.

Não vale a pena e é mais fácil modificar o registry quando activas a aplicação e depois quando fecha, repores os valores anteriores, para que tudo fique normal.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu faria assim:

App carrega, define 1 valor num sitio kker (podia ser um ficheiro de texto) depois criava um processo externo que corria com o programa, mas independente ao programa principal, que verificava se a app tava a correr ou se tinha crashado, e caso tivesse crashado ou re-corria ou repunha o windows direito.

E á saida apagava o ficheiro e terminava o outro processo claro lol

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu faria assim:

App carrega, define 1 valor num sitio kker (podia ser um ficheiro de texto) depois criava um processo externo que corria com o programa, mas independente ao programa principal, que verificava se a app tava a correr ou se tinha crashado, e caso tivesse crashado ou re-corria ou repunha o windows direito.

E á saida apagava o ficheiro e terminava o outro processo claro lol

Isso não é funcional e uma aplicação bem desenvolvida e com um correcto tratamento raramente, mas muito raramente, dá problemas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim ok, mas vai termina-la no gestor de tarefas e depois abre novamente o programa, ele vai tomar como cfgs "boas" as q tao no registo, ou seja, as modificadas pq terminaste o processo no gestor de tarefas, ao sair vais aplicar as cfgs "boas" que sao o q o poe o PC direito nos talhos, ou seja, vais ficar sem os atalhos para sempre pq a cfg "boa" vai ser minada pq tá no registo mal.

fiz-me compreender ou nem por isso ?

(eu penso q nao me fiz)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu amanha se quiserem faço uma melhor exposição xD

Todos os contributos são importantes para o fórum (excepto os destrutivos)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

claro q sim, concordo a 100%, o que eu queria dizer era que reescrevia o mesmo,mas de forma melhor a que todos percebamos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

claro q sim, concordo a 100%, o que eu queria dizer era que reescrevia o mesmo,mas de forma melhor a que todos percebamos

Concordo exactamente com o que dizes. Mas digamos que é uma aplicação full-screen. O PC crasha totalmente, como acontece às vezes ao meu. Tudo pára. Oiço um "Piiiiiiiiiiiiiiiiiii" infinito até que o desligue no botão.

E nessa situação... lixava-me? :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso era fácil de resolver as configs boas deixavas num backup file no "arranque" do windows assim se isso acontecesse bastava reiniciar a maquina e pronto esta feito as configs boas estavam repostas :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Concordo exactamente com o que dizes. Mas digamos que é uma aplicação full-screen. O PC crasha totalmente, como acontece às vezes ao meu. Tudo pára. Oiço um "Piiiiiiiiiiiiiiiiiii" infinito até que o desligue no botão.

E nessa situação... lixava-me? :-[

Não como é obvio pq o backup era feito no arranque do programa antes de aplicar as definições de "segurança" xD

Isso era fácil de resolver as configs boas deixavas num backup file no "arranque" do windows assim se isso acontecesse bastava reiniciar a maquina e pronto esta feito as configs boas estavam repostas ;)

Reiniciar tudo é mau, na minha opiniao, eu deixava logo de usar o programa por isso, um programa externo era uma boa opção,na minha opiniao pq imagina que tas a meio de um download e q tá a sair bem ou outra coisa qualquer, reiniciar pode "lixar-te".

mas isto é só uma opiniao.

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