
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comfort Software :: Forums :: Development | |||
|
|||
How to activate different keyboards |
| Auteur | Message |
| Comfort |
| ||
![]() ![]() ![]() Inscrit le: Wed Sep 19 2007, 03:42PM Messages: 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). [ Édité Mon May 26 2008, 09:37AM ] Have a nice day | ||
| Retour en haut |
| Neeraja |
| ||
![]() Inscrit le: Tue Feb 03 2009, 04:30PM Messages: 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. | ||
| Retour en haut |
| Comfort |
| ||
![]() ![]() ![]() Inscrit le: Wed Sep 19 2007, 03:42PM Messages: 617 |
[ Édité Tue Apr 14 2009, 01:48AM ] Have a nice day | ||
| Retour en haut |
| JohnVb |
| ||
![]() Inscrit le: Sat Jul 05 2008, 05:07PM Messages: 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 | ||
| Retour en haut |
| Modérateurs: Comfort |