Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fogomax

teclas globais

Recommended Posts

Olá, estou iniciando com C# faz mais ou menos uma semana e estou achando ótima a linguagem.

Eu estava estudando algumas coisas e achei um tutorial bem interessante, que era pra registrar teclas de atalho global (que o programa identifica mesmo não estando em foco).

 

Eu consegui esse código:

        [DllImport("user32.dll")]
        public static extern bool RegisterHotKey(IntPtr hWnd,
          int id, int fsModifiers, int vlc);
        [DllImport("user32.dll")]
        public static extern bool UnregisterHotKey(IntPtr hWnd, int id);

        protected override void WndProc(ref Message m)
        {
            if (m.Msg == 0x0312)
                //sua ação aqui
               MessageBox.Show("Funcionou !");
            base.WndProc(ref m);
        }  

No evento Load, é pra colocar isso:

Form1.RegisterHotKey(this.Handle, this.GetType().GetHashCode(), 2, (int)'Q');  

Se eu duplicar essa linha do Load, e mesmo assim colocar teclas diferentes, funciona, mas o que eu quero é diferente.

Preciso que demais funções, não consigo de forma alguma adicionar novas funções para diferentes combinações.

 

Ah, e outra coisa, no site falava que eu podia trocar o 2 (no código do Load) assim:

Alt = 1, Ctrl = 2, Shift = 4, Windows = 8

Como fazer uma combinação? Como Ctrl + Alt. Eu tentei colocar 2+1 igual a um site mas não funcionou xD (1+1 funciona, no caso daria 2).

 

Muito obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.