Windows 10、如何避免触摸键盘遮挡输入?

In Windows 10, how can I avoid having the touch keyboard covering up inputs?

我们正在维护一个用 C、C++ 和 C++/CLI 组合编写的遗留应用程序,该应用程序部署在平板电脑上 运行 Windows 10. 重写应用程序是不是一种选择,但用户抱怨触摸键盘掩盖了输入。如果有的话,我可以使用什么技术来避免输入被触摸键盘覆盖?

您无法控制键盘的位置,您只能调整您的应用程序,使键盘不覆盖重要部分。具有大表面的应用程序(列表视图、文档等)通常会自行滚动,因此 caret/selection 可见。其他一些 windows 调整自己的大小(标准 open/save 对话框)以便最重要的控件可见。

如果您创建了一个实现 IFrameworkInputPaneHandler 的 COM class,那么您可以通过在 Raymond Chens 博客上注册 IFrameworkInputPane::AdviseWithHWND. You can find a example of this 来订阅键盘更改。