Results 1 to 2 of 2

Thread: How change key map

  1. #1

    Thread Starter
    New Member
    Join Date
    Aug 2001
    Posts
    1

    Unhappy How change key map

    I would like to change the behaviour of a key on my keyboard. I like to change the keypad dot (.) to comma(,) I can't find any doc about the keyboard mapping in windows. Could you help me? thanks
    Riccardo

  2. #2
    Matthew Gates
    Guest
    Perhaps you could try the SetWindowsHookEx API function?


    VB Code:
    1. 'In a module
    2.  
    3. Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
    4. Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
    5. Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
    6. Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
    7.  
    8. Public Const WH_KEYBOARD = 2
    9. Public Const VK_SHIFT = &H10
    10. Public hHook As Long
    11. Public Function KeyboardProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    12.     'if idHook is less than zero, no further processing is required
    13.     If idHook < 0 Then
    14.         'call the next hook
    15.         KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
    16.     Else
    17.         'check if SHIFT-S is pressed
    18.         If (GetKeyState(VK_SHIFT) And &HF0000000) And wParam = Asc("S") Then
    19.             'show the result
    20.             Form1.Print "Shift-S pressed ..."
    21.         End If
    22.         'call the next hook
    23.         KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
    24.     End If
    25. End Function
    26.  
    27. 'In a form, called Form1
    28. Private Sub Form_Load()
    29.     'KPD-Team 2000
    30.     'URL: [url]http://www.allapi.net/[/url]
    31.     'E-Mail: [email][email protected][/email]
    32.     'set a keyboard hook
    33.     hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, App.hInstance, App.ThreadID)
    34. End Sub
    35. Private Sub Form_Unload(Cancel As Integer)
    36.     'remove the windows-hook
    37.     UnhookWindowsHookEx hHook
    38. End Sub

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width