В Windows 8 и Windows 10 до обновления Anniversary появилась возможность показывать сенсорную клавиатуру, запустив
C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe
Он больше не работает в обновлении Windows 10 Anniversary; выполняется процесс TabTip.exe
, но клавиатура не отображается.
Есть ли способ показать это программно?
UPDATE
Я нашел обходное решение - поддельный щелчок мышью на значке сенсорной клавиатуры в системном трее. Вот код в Delphi
// Find tray icon window
function FindTrayButtonWindow: THandle;
var
ShellTrayWnd: THandle;
TrayNotifyWnd: THandle;
begin
Result := 0;
ShellTrayWnd := FindWindow('Shell_TrayWnd', nil);
if ShellTrayWnd > 0 then
begin
TrayNotifyWnd := FindWindowEx(ShellTrayWnd, 0, 'TrayNotifyWnd', nil);
if TrayNotifyWnd > 0 then
begin
Result := FindWindowEx(TrayNotifyWnd, 0, 'TIPBand', nil);
end;
end;
end;
// Post mouse click messages to it
TrayButtonWindow := FindTrayButtonWindow;
if TrayButtonWindow > 0 then
begin
PostMessage(TrayButtonWindow, WM_LBUTTONDOWN, MK_LBUTTON, $00010001);
PostMessage(TrayButtonWindow, WM_LBUTTONUP, 0, $00010001);
end;
ОБНОВЛЕНИЕ 2
Еще одна вещь, которую я обнаружил, заключается в том, что установка этого ключа реестра восстанавливает старые функции при запуске TabTip.exe показывает сенсорную клавиатуру
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TabletTip\1.7\EnableDesktopModeAutoInvoke=1