Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
762
Assunto : VB.NET
Titulo: Criando atalhos de teclado para sua aplicação

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Criar atalhos para funções da aplicação quando a aplicação está com o foco é tarefa simples.

O complicado é criar atalhos para a aplicação que funcionem quando a aplicação não está com o foco. Isso é possível através de uma função da API do sistema operacional : RegisterHotKey

Veja um exemplo de como funciona (Desta vez vai o exemplo em c#) :

[DllImport("user32")]
public static extern int RegisterHotKey(IntPtr hwnd, int id, int fsModifiers, int vk);
[DllImport("user32.dll")]
static extern bool UnregisterHotKey(IntPtr hWnd, int id);
private const int MOD_ALT = 0x1;
private const int MOD_CONTROL = 0x2;
private const int MOD_SHIFT = 0x4;
private const int MOD_WIN = 0x8;
private const int WM_HOTKEY = 0x312;

public frmMain()
{
// Assigns the hotkey WIN+T
// 42 is (as always) a magic number
RegisterHotKey( this.Handle, 42, MOD_WIN, (int)Keys.T );
}

protected override void WndProc(ref Message m)
{
base.WndProc (ref m);
if( m.Msg == WM_HOTKEY )
{
if( !this.Visible )
this.Visible = true;
this.Activate();
}
}

private void frmMain_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
UnregisterHotKey( this.Handle, 42 );
}

Fazemos um DLLImport para que possamos fazer uso das funções register e unregisterHotkey.

No load, chamamos o register, no closing o unregister.

Fazemos um override na função WndProc para recebermos e processarmos a mensagem de hotKey. Pronto. Nossa aplicação tem uma tecla de atalho registrada com o sistema operacional.




Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br