如何禁用我的应用程序的虚拟键盘支持?

时间:2011-09-12 10:18:00

标签: c# wpf windows-7

由于我有内置键盘,因此我的WPF应用程序中不需要系统范围的虚拟键盘。我为文本框设置了IsHitTestVisible="False",但虚拟键盘缩略图仍然可见。

3 个答案:

答案 0 :(得分:0)

我回答了类似的问题here,但它适用于Windows Mobile 6.5;但我想它也适用于win 7 ..下面是隐藏键盘图标的代码:

//Declare Win API method
[DllImport("coredll.dll", EntryPoint="FindWindowW", SetLastError=true)]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName)

[DllImport("coredll.dll", SetLastError=true)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int x, int y, int cx, int cy, uint uFlags);

[DllImport("coredll.dll", SetLastError = true)]
    internal static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);

//Call FindWindow and SetWindowPos to hide keyboard icon
IntPtr hWnd = FindWindow(Nothing, "MS_SIPBUTTON");
SetWindowPos(hWnd, 1, 0, 0, 0, 0, &H80);

答案 1 :(得分:0)

请参阅我的回答here。通过设置注册表值,您可以禁用某个应用程序的屏幕键盘缩略图

答案 2 :(得分:0)

如果你想在特定方法之后隐藏虚拟键盘,你可以通过写这个来实现.Focus();