Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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);
}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.
Carregando comentários...