При использовании диалога UAC (который работает на защищенном рабочем столе) используется на планшетном ПК, он предоставляет экранную клавиатуру для поля пароля (почти то же самое как экран входа в систему). Я думаю, что это реализовано в tabtip.exe.Планшетный ПК/экранная клавиатура на защищенном рабочем столе
Теперь я также использую защищенный рабочий стол для запроса пароля. В (редком) псевдокода, это выглядит следующим образом:
hDesk = CreateDesktop("my random desktop name", NULL, 0, 0, CREATE_MENU|CREATE_WINDOW|READ_OBJECTS|WRITE_OBJECTS|SWITCH_DESKTOP);
CreateThread(SecureDesktopThread)
И в SecureDesktopThread
:
...
SetThreadDesktop(hDesk);
SwitchDesktop(hDesk);
MyDialog dlg = new MyDialog();
dlg.ShowModal();
...
Однако клавиатура таблицы PC (? IME) отсутствует на безопасном рабочем столе, что делает его непригодным для использования на планшетном ПК.
Как можно включить планшетный ПК/программную клавиатуру/IME?
Как какой клавиатура я имею в виду (не в безопасном рабочем столе, потому что я не могу делать скриншоты есть), например: