将Windows 7屏幕键盘合并到WPF应用程序中

将Windows 7屏幕键盘合并到WPF应用程序中,wpf,windows-7,keyboard,Wpf,Windows 7,Keyboard,Windows7有一个非常好的触摸屏键盘程序/控件。我有一个触摸屏应用程序,最初是为XP编写的,并将部署在XP上。是否可以将此键盘直接合并到我的应用程序中,而不是使用自定义控件?我找不到关于它的编程信息,所以任何链接都会非常有用。具体来说,我需要: 能够在安装了.NET 3.5 sp1的XP机器上使用键盘 为了能够在Windows7上隐藏本机键盘,因为我已经在我的UI中加入了触摸屏键盘,所以我不需要另一个键盘来扰乱UI 本机键盘有两个吸引人的方面。首先,它会自动本地化为客户的语言(尽管应用程序的

Windows7有一个非常好的触摸屏键盘程序/控件。我有一个触摸屏应用程序,最初是为XP编写的,并将部署在XP上。是否可以将此键盘直接合并到我的应用程序中,而不是使用自定义控件?我找不到关于它的编程信息,所以任何链接都会非常有用。具体来说,我需要:

  • 能够在安装了.NET 3.5 sp1的XP机器上使用键盘
  • 为了能够在Windows7上隐藏本机键盘,因为我已经在我的UI中加入了触摸屏键盘,所以我不需要另一个键盘来扰乱UI
  • 本机键盘有两个吸引人的方面。首先,它会自动本地化为客户的语言(尽管应用程序的其余部分需要修改),其次,当操作系统试图确定我是否在做手势时,它似乎不会出现“触摸滞后”,因为我显然是在键盘上打字

    该应用程序基于WPF,这意味着可以轻松地与基于Windows7的控件集成


    编辑:我真的很喜欢XP,但这不是一个要求。不过,在Win7中使用键盘似乎是可能的,甚至是正确的方法。

    简单地说,我对此表示怀疑。如果您试图在自己运行在Windows7上的应用程序中使用Windows7键盘,可能是这样。但是你所说的是在你自己的应用程序中运行一个Windows7OS级的组件,这个应用程序运行在XP上——这两个操作系统已经过时了。而且,我甚至不知道如果它是在Windows7上构建的,你是否可以在你的应用程序中运行它


    我们的产品还需要使用一个集成的屏幕键盘,除了购买其他人制作的键盘或推出我们自己的键盘之外,我们找不到任何替代品。我们发现操作系统键盘没有简单的互操作性解决方案。但我们确实创造了自己的,并在几周内对其进行了全面测试。所以还不算太糟。我会走那条路。

    我发现最好的事情是:

    它使用了WPF之外的互操作,但似乎工作得非常好


    编辑:我希望我是真正编写它的人,但我所做的只是找到它…

    要在wpf应用程序中附加自定义屏幕键盘布局,请使用attached属性。 你会从本·康斯特布尔的拉莫拉模式中得到清晰的想法:

    您可以从这里找到源代码:


    谢谢,

    我已经走了那条路。问这个问题的重点是Windows7应该是非常兼容触摸屏的,所以我应该能够通过我的程序以一种有意义的方式与之交互。结合本机触摸屏控件是有意义的。XP这件事与其说是一个要求,不如说是一个我知道不会实现的愿望。你的答案看起来是我最接近的答案。基本上,使用Tablet XP SDK完成此操作,然后使用所述控件使其工作。但是,XP中没有键盘,除非是平板电脑版本。