Virtual key
Publicado por Unknow (5 intervenciones) el 16/12/2006 16:26:47
Haber si alguien me puede ayudar
Miren lo que pasa es que hice un pequeño hook para el teclado. El problema es que cuando mi rutina tiene el foco y llegan datos como ";" o "&" mi rutina los captura bien pero cuando desde otra pantalla se escriben esos datos a mi rutina llegan "," y "5" esto es logicamente debido a que en una se presiono shift y en otra no.
La pregunta es como puedo capturar correctamente este dato ???.
Les muestre la rutina de conversion de virtual key a char ascii que estoy utilizando.
Public Function GetCharFromKey(ByVal KeyCode As Integer) As String
Dim KeyBoardState(255) As Byte
Dim Out As Long
If GetKeyboardState(KeyBoardState(0)) <> 0 Then
If ToAscii(KeyCode, 0, KeyBoardState(0), Out, 0) <> 0 Then
If Out <= 255 Then
GetCharFromKey = Chr$(Out)
Else
GetCharFromKey = Left$(StrConv(ChrW$(Out), vbUnicode), 1)
End If
End If
End If
End Function
ojala y alguien me pueda ayudar.
Miren lo que pasa es que hice un pequeño hook para el teclado. El problema es que cuando mi rutina tiene el foco y llegan datos como ";" o "&" mi rutina los captura bien pero cuando desde otra pantalla se escriben esos datos a mi rutina llegan "," y "5" esto es logicamente debido a que en una se presiono shift y en otra no.
La pregunta es como puedo capturar correctamente este dato ???.
Les muestre la rutina de conversion de virtual key a char ascii que estoy utilizando.
Public Function GetCharFromKey(ByVal KeyCode As Integer) As String
Dim KeyBoardState(255) As Byte
Dim Out As Long
If GetKeyboardState(KeyBoardState(0)) <> 0 Then
If ToAscii(KeyCode, 0, KeyBoardState(0), Out, 0) <> 0 Then
If Out <= 255 Then
GetCharFromKey = Chr$(Out)
Else
GetCharFromKey = Left$(StrConv(ChrW$(Out), vbUnicode), 1)
End If
End If
End If
End Function
ojala y alguien me pueda ayudar.
Valora esta pregunta


0