WM_CSKEYBOARD = WM_USER + 192;
WM_CSKEYBOARDMOVE = WM_USER + 193;
// to show keyboard
PostMessage(FindWindow('TFirstForm', 'CKeyboardFirstForm'), WM_CSKEYBOARD, 1, 0);
// to close keyboard
PostMessage(FindWindow('TFirstForm', 'CKeyboardFirstForm'), WM_CSKEYBOARD, 2, 0);
// to fade keyboard
PostMessage(FindWindow('TFirstForm', 'CKeyboardFirstForm'), WM_CSKEYBOARD, 3, 0);
// to toggle (show/hide) keyboard
PostMessage(FindWindow('TFirstForm', 'CKeyboardFirstForm'), WM_CSKEYBOARD, 4, 0);
// to move keyboard (Left, Top - new position)
PostMessage(FindWindow('TFirstForm', 'CKeyboardFirstForm'), WM_CSKEYBOARDMOVE, Left, Top);
Код для Visual Basic
Private Const WM_CSKEYBOARD = WM_USER + 192
Private Const WM_CSKEYBOARDMOVE = WM_USER + 193
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'Code to show keyboard
Dim hWnd As Long
hWnd = FindWindow("TFirstForm", "CKeyboardFirstForm")
PostMessage hWnd, WM_CSKEYBOARD, 1, 0
'Code to close keyboard
Dim hWnd As Long
hWnd = FindWindow("TFirstForm", "CKeyboardFirstForm")
PostMessage hWnd, WM_CSKEYBOARD, 2, 0
'Code to move keyboard
Dim hWnd As Long
hWnd = FindWindow("TFirstForm", "CKeyboardFirstForm")
PostMessage hWnd, WM_CSKEYBOARDMOVE, 0, 0
Код для C#
public const Int32 WM_USER = 1024;
public const Int32 WM_CSKEYBOARD = WM_USER + 192;
public const Int32 WM_CSKEYBOARDMOVE = WM_USER + 193;
[DllImport("user32.dll", EntryPoint = "FindWindow")]
private static extern Int32 FindWindow(string _ClassName, string _WindowName);
[DllImport("User32.DLL")]
public static extern Boolean PostMessage(Int32 hWnd, Int32 Msg, Int32 wParam, Int32 lParam);
Int32 hWnd = FindWindow("TFirstForm", "CKeyboardFirstForm");
PostMessage(hWnd, WM_CSKEYBOARD, 1, 0 ); // Show
PostMessage(hWnd, WM_CSKEYBOARD, 2, 0); // Hide
PostMessage(hWnd, WM_CSKEYBOARDMOVE, 0, 0); // Move to 0, 0
Если вы создаете приложение для киоска с использованием страниц HTML, вы можете управлять экранной клавиатурой из эксплорера с помощью компонентов ActiveX.
| 1. | Скачайте
файл
http://www.comfort-software.com/download/keyboardx.zip
с
ActiveX-компонентами и примерами. |
| 2. | Установите
ActiveX с помощью команды "regsvr32 cskeyboard.ocx" (или запустите
файл registerocx.cmd). |
| 3. | Изучите
примеры из файлов hidekb.html, hidekeyboard.html, showkb.html,
showkeyboard.html |
Пример: Вы хотите, чтобы экранная клавиатура автоматически появлялась, когда пользователь открывает одну страницу, а для всех остальных страниц клавиатура должна исчезать. Чтобы реализовать это, используйте код из файла "showkb.html" для одной страницы, а код из файла "hidekb.html" для всех остальных.





