我如何以编程方式操作Windows 7屏幕键盘osk:移动,resize,删除标题栏/标题

我正在开发一个WPF应用程序,我希望以“永远在那里”的方式显示内置的Windows 7屏幕键盘。 所以我想:

  1. 将其移动到特定位置

  2. 将其设置为一定的宽度和高度

  3. 删除标题/标题栏,以便用户无法移动或关闭它

  4. 删除该权限以调整其大小(或任何其他用户调整)。

我已经尝试了所有典型的API函数(MoveWindow,SetWindowPos,SetWindowLong等…),但它拒绝做任何事情。 代码目前适用于所有其他进程和应用程序(例如Internet Explorer和命令提示符); 这几乎就好像api调用不适用于osk,或者它被“锁定”。 我错过了什么? 提前致谢。

我查看了Spy ++,屏幕键盘使用了一个名为“DirectUIHWND”的东西。 您可能希望查看DirectUIHWND API。

一个可能有用的链接:

此外,有些人警告说,DirectUI 没有记录 。