如何通过编程设置Windows 11「无物理键盘时显示屏幕键盘」选项?
控制Windows 11「未连接物理键盘时显示虚拟键盘」设置的编程方法
Windows 11中这个功能的状态存储在系统注册表中,你可以通过读写注册表结合重启相关进程来实现控制。
获取当前状态
该设置对应注册表项为HKEY_CURRENT_USER\Software\Microsoft\TabletTip\1.7下的EnableAutoInvoke(DWORD类型):
- 值为
1:功能已开启 - 值为
0:功能已关闭
C#示例代码
using Microsoft.Win32; public static bool GetAutoVirtualKeyboardStatus() { using var registryKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\TabletTip\1.7"); if (registryKey == null) return false; // 未设置时默认关闭 var value = registryKey.GetValue("EnableAutoInvoke"); return value != null && (int)value == 1; }
开启/关闭功能
修改上述注册表值后,需要重启TabTip.exe进程才能让设置立即生效。
C#示例代码
using Microsoft.Win32; using System.Diagnostics; public static void SetAutoVirtualKeyboardStatus(bool enable) { // 修改注册表值 using var registryKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\TabletTip\1.7"); registryKey.SetValue("EnableAutoInvoke", enable ? 1 : 0, RegistryValueKind.DWord); // 重启TabTip.exe foreach (var proc in Process.GetProcessesByName("TabTip")) { proc.Kill(); } Process.Start(@"C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe"); }
注意事项
- 操作HKCU路径下的注册表无需管理员权限,普通用户即可执行
- 如果你的Windows 11版本找不到
1.7子项,可以尝试查看TabletTip下的其他编号子项(比如1.6),对应的值名称通常一致 - 直接修改注册表后如果不重启
TabTip,设置要等到下次系统重启或进程重启才会生效
内容的提问来源于stack exchange,提问作者tmighty
相关产品推荐
相关产品推荐

