
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comfort Software :: Forums :: Development | |||
|
|||
How to activate different keyboards |
| Author | Post |
| Comfort |
| ||
![]() ![]() ![]() Joined: Wed Sep 19 2007, 03:42pm Posts: 617 | You can specify different types of on-screen keyboards to be displayed. To do this, change (from your program) the KeyboardName parameter in the registry at HKEY_CURRENT_USER\Software\ComfortSoftware\CKeyboard. You have to do it before showing the on-screen keyboard with Windows Messages (see http://www.comfort-software.com/forum-t17.html). [ Edited Mon May 26 2008, 09:37am ] Have a nice day | ||
| Back to top |
| Neeraja |
| ||
![]() Joined: Tue Feb 03 2009, 04:30pm Posts: 4 | Hi I tried to open the NumPad programatically by changing the registry.But its not working. I wanted to open an alphaneumeric keyboard for text box and NumPad for numeric controls. Please let me know if I can do this by any other way. Thanks in advance. | ||
| Back to top |
| Comfort |
| ||
![]() ![]() ![]() Joined: Wed Sep 19 2007, 03:42pm Posts: 617 |
[ Edited Tue Apr 14 2009, 01:48am ] Have a nice day | ||
| Back to top |
| JohnVb |
| ||
![]() Joined: Sat Jul 05 2008, 05:07pm Posts: 1 | Hi I also had a problem using the registry to load different kb set for the floating kb . I wanted to load different kb before the user click the floating kb button but it did not work, it seems that it is not reading the kb setting on every click (bug?). so I used the post msg approach and it is working ok now thanks! I am evaluating On-Screen Keyboard V4.0 with vb6 the code converted to vb: Private Type COPYDATASTRUCT dwData As Long cbData As Long lpData As Long End Type Private Const WM_COPYDATA = &H4A Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long) Public Function VKBLoadKeyboard(ByVal xi_KeyboardName As String) As Boolean Dim KeyboardName(1 To 255) As Byte Dim hwnd As Long Dim MyCDS As COPYDATASTRUCT Dim sString As String sString = Trim$(xi_KeyboardName) If sString = "" Then Exit Function Call CopyMemory(KeyboardName(1), ByVal sString, Len(sString)) ' Fill the COPYDATA structure ' MyCDS.dwData = 1 ' function identifier MyCDS.cbData = Len(sString) + 1 ' size of data MyCDS.lpData = VarPtr(KeyboardName(1)) ' data structure ' ' Call function, passing data in &MyCDS ' hwnd = FindWindow("TFirstForm", "CKeyboardFirstForm") If (hwnd <> 0) Then Call SendMessage(hwnd, WM_COPYDATA, 0, MyCDS) End If End Function | ||
| Back to top |
| Moderators: Comfort |