Справка онлайн

Описание Comfort On-Screen Keyboard Pro
Как купить Comfort On-Screen Keyboard Pro
Как использовать Comfort On-Screen Keyboard Pro
Работа с экранной клавиатурой
Редактирование вида клавиатуры
Редактирование иконок быстрых клавиш
Настройки программы
Системные параметры
Тема оформления
Быстрые клавиши
Настройки экранной клавиатуры
Показать или скрыть
Расположение
Клавиши
Росчерки
Масштаб
Помощь при наборе текста
Плавающее окошко
Автоподсказка слов
Настройки языковой панели
Настройки иконок быстрых клавиш
Зависимости
Безопасность
Прочие настройки
Программирование
Как вызвать, закрыть или переместить экранную клавиатуру
Как ограничить доступ к настройкам
Как программно активировать разные виды клавиатур
Прочие темы разработки
Параметры командной строки
Прочее
FAQ - Наиболее часто задаваемые вопросы и ответы
Лицензионное соглашение

Как программно активировать разные виды клавиатур

Способ 1


Чтобы активировать экранную клавиатуру с определенным именем, измените в реесте HKEY_CURRENT_USER\Software\ComfortSoftware\CKeyboard параметр KeyboardName.


Если экранная клавиатура уже открыта, то можно послать сообщение Windows вида PostMessage(FindWindow('TFirstForm', 'CKeyboardFirstForm'), WM_CSKEYBOARD, 1, 0) и программа повторно загрузит установленную клавиатуру.


Способ 2


Скачайте и используйте следующий файл: https://www.comfortsoftware.com/download/SetNameKB.exe

Формат комманды: SetNameKB.exe "keyboard name"

Например: SetNameKB.exe Mini



Способ 3

Этот способ более предпочтительный, т.к. позволяет менять вид без лишнего открытия и закрытия клавиатуры.


char KeyboardName[80]; 

COPYDATASTRUCT MyCDS; 

 

KeyboardName = "Standard"; 

 

// Fill the COPYDATA structure 

MyCDS.dwData = 1; // function identifier 

MyCDS.cbData = sizeof(KeyboardName); // size of data 

MyCDS.lpData = &KeyboardName; // data structure 

 

// Call function, passing data in &MyCDS 

HWND hwDispatch = FindWindow( "TFirstForm", "CKeyboardFirstForm" ); 

if( hwDispatch != NULL ) 

  SendMessage( hwDispatch, 

    WM_COPYDATA, 

    (WPARAM)(HWND) NULL, 

    (LPARAM) (LPVOID) &MyCDS );