none
Detectar tecla(s) precionadas. RRS feed

Respostas

  • Para o CTRL + ALT + DEL basta usar o código abaixo no KeyUP do seu form (não esqueça de mudar KeyPreview para true)

        Private Sub SeuForm_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
            If e.Control AndAlso e.Alt AndAlso e.KeyCode = Keys.Delete Then
                MessageBox.Show("CTRL+ALT+DEL")
            End If
        End Sub

    Tem mais esse exemplo que achei na NET:

    Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
            Const WM_KEYDOWN As Integer = &H100
            Const WM_SYSKEYDOWN As Integer = &H104
            If ((msg.Msg = WM_KEYDOWN) Or (msg.Msg = WM_SYSKEYDOWN)) Then
                Select Case (keyData)
                    Case Keys.A To Keys.Z                                                  '<--- Catch the Keys you want
                        MessageBox.Show("You pressed " & ChrW(keyData))  '<--- Then do something
                    Case Keys.Right
                        Me.Text = "Right Arrow Captured"
                    Case Keys.Left
                        Me.Text = "Left Arrow Captured"
                    Case Keys.Down
                        Me.Text = "Down Arrow Captured"
                    Case Keys.Up
                        Me.Text = "Up Arrow Captured"
                    Case Keys.Tab
                        Me.Text = "Tab Key Captured"
                    Case (Keys.Control Or Keys.N)
                        Me.Text = " + N Captured"
                    Case (Keys.Alt Or Keys.Z)
                        Me.Text = " + Z Captured"
                    Case Keys.NumPad0
                        Me.Text = "Num Pad '0' Captured"
                    Case Keys.Delete
                        MessageBox.Show("Delete Captured")
                    Case Keys.NumLock
                End Select
            End If
            Return MyBase.ProcessCmdKey(msg, keyData)
    End Function

    Esses exemplos devem lhe ajudar a fazer para outras teclas.

    Att.,

    Jeimes Ribeiro

    "Caso a resposta seja útil, marque como resposta."


    segunda-feira, 17 de setembro de 2012 16:41

Todas as Respostas

  • Olá Eduardo

    Qual ou quais teclas você está querendo identificar?

    Att.,

    Jeimes Ribeiro

    segunda-feira, 17 de setembro de 2012 16:20
  • Seria bom todas. Mas especificamente o ctrl,alt,del
    segunda-feira, 17 de setembro de 2012 16:22
  • Para o CTRL + ALT + DEL basta usar o código abaixo no KeyUP do seu form (não esqueça de mudar KeyPreview para true)

        Private Sub SeuForm_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
            If e.Control AndAlso e.Alt AndAlso e.KeyCode = Keys.Delete Then
                MessageBox.Show("CTRL+ALT+DEL")
            End If
        End Sub

    Tem mais esse exemplo que achei na NET:

    Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
            Const WM_KEYDOWN As Integer = &H100
            Const WM_SYSKEYDOWN As Integer = &H104
            If ((msg.Msg = WM_KEYDOWN) Or (msg.Msg = WM_SYSKEYDOWN)) Then
                Select Case (keyData)
                    Case Keys.A To Keys.Z                                                  '<--- Catch the Keys you want
                        MessageBox.Show("You pressed " & ChrW(keyData))  '<--- Then do something
                    Case Keys.Right
                        Me.Text = "Right Arrow Captured"
                    Case Keys.Left
                        Me.Text = "Left Arrow Captured"
                    Case Keys.Down
                        Me.Text = "Down Arrow Captured"
                    Case Keys.Up
                        Me.Text = "Up Arrow Captured"
                    Case Keys.Tab
                        Me.Text = "Tab Key Captured"
                    Case (Keys.Control Or Keys.N)
                        Me.Text = " + N Captured"
                    Case (Keys.Alt Or Keys.Z)
                        Me.Text = " + Z Captured"
                    Case Keys.NumPad0
                        Me.Text = "Num Pad '0' Captured"
                    Case Keys.Delete
                        MessageBox.Show("Delete Captured")
                    Case Keys.NumLock
                End Select
            End If
            Return MyBase.ProcessCmdKey(msg, keyData)
    End Function

    Esses exemplos devem lhe ajudar a fazer para outras teclas.

    Att.,

    Jeimes Ribeiro

    "Caso a resposta seja útil, marque como resposta."


    segunda-feira, 17 de setembro de 2012 16:41
  • Ah sim , esse funcionou. Muito obrigado.
    segunda-feira, 17 de setembro de 2012 16:57