如何关闭TextInputPanel

2023-12-04

我正在移植 WPF 应用程序以在 Windows 8 平板电脑上运行。

我想让文本输入面板在文本框获得焦点时出现,并在文本框失去焦点时消失。

让它出现是没有问题的,但我似乎无法让它关闭。

我已在进程上尝试了 Kill 和 CloseMainWindow,但收到 InvalidOperationException - 无法处理请求,因为进程已退出。

我尝试了 SendMessage 但没有任何结果。

有任何想法吗?

一些WinForm测试代码如下:

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace VirtualKeyboard
{
    public partial class Form1 : Form
    {
        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
        static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);

        static uint WM_CLOSE = 0x0010;
        static uint WM_QUIT = 0x0012;

        public Form1()
        {
            InitializeComponent();
        }

        private Process _keyboardProcess;

        private void Open_Click(object sender, EventArgs e)
        {
            _keyboardProcess = Process.Start(@"C:\Program Files\Common Files\microsoft shared\ink\tabtip.exe");
        }

        private void Close_Click(object sender, EventArgs e)
        {
            // tried all these
            //SendMessage(_keyboardProcess.Handle, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
            //SendMessage(_keyboardProcess.Handle, WM_QUIT, IntPtr.Zero, IntPtr.Zero);
            //_keyboardProcess.Kill();
            //_keyboardProcess.CloseMainWindow();
        }

    }
}

正如我在评论中提到的,TabTip 立即生成另外 2 个进程,然后退出调用进程。

遍历所有打开的进程并关闭一个名为 TabTip 的进程。这将关闭两个进程。

using System;
using System.Diagnostics;
using System.Windows.Forms;

namespace VirtualKeyboard
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void Open_Click(object sender, EventArgs e)
        {
            Process.Start(@"C:\Program Files\Common Files\microsoft shared\ink\tabtip.exe");
        }

        private void Close_Click(object sender, EventArgs e)
        {
            Process[] processlist = Process.GetProcesses();

            foreach(Process process in processlist)
            {
                if (process.ProcessName == "TabTip")
                {
                    process.Kill();
                    break;
                }
            }
        }

    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何关闭TextInputPanel 的相关文章

  • 如何使用 LINQ ForEach 更改 List

    我有一个List
  • 根据当前文化调用不同(本地化)视图

    我在用着LocalizationAttribute它实现了ActionFilterAttribute本地化视图 我简单地说 Localize 在控制器上 我使用 LocalizeStrings resx 文件根据当前线程上的语言进行应用 一
  • 求 a 范围内的 pow(a^b)modN

    对于给定的b and N以及一系列a say 0 n 我需要找到ans 0 n 1 where ans i 没有a s为此pow a b modN i 我在这里搜索的是可能的重复pow a b modN对于一系列a 以减少计算时间 例子 i
  • gets 和 scanf 有什么区别?

    如果代码是 scanf s n message vs gets message 有什么区别 似乎两者都获取消息的输入 基本区别 参考您的特定场景 scanf 遇到一个时结束接受输入whitespace newline or EOF gets
  • 在 2 个 .c 文件之间共享函数

    dir1有dir2 file1 c和file1 h dir2 有 file2 c 现在 如果我想在 file2 c 中访问 file1 c 中定义的函数 我需要在 file1 h 中声明它并在 file2 c 中包含 file1 h 这是一
  • 在异步方法中使用时 HttpClient 标头被清空

    我正在使用 NET Framework 4 6 1 我的 Web api 中有一个控制器 其中有静态 HttpClient 来处理所有 http 请求 在 IIS 上托管我的应用程序后 大约每月一次 我的应用程序的所有传入请求都会出现以下异
  • C# Visual Studio 动态代码片段

    我正在开发一个 WinForms 项目 每天都会执行一些重复性的任务 所以我认为创建代码片段 https msdn microsoft com en us library ms165394 v vs 110 aspx会帮助我 但它仅适用于固
  • 将标准库添加到C++ eclipse项目中

    一个 非常 新手 C 问题 有没有办法自动将标准库添加到 C eclipse 项目中 我安装了 CDT 主要功能插件 您可以手动添加 STL 标头的路径路径和符号 gt 包含选项卡 http help eclipse org galileo
  • 命令中带空格的 Windows C 系统调用

    我无法使用名称和参数中的空格进行系统调用 例如 system c program files something example exe c my files example txt 我尝试过各种我知道的方法来逃避 但没有任何效果 我努力了
  • Linux C++ 调试器

    我正在寻找完美的 Linux C 调试器 我不期望成功 但搜索应该提供丰富的信息 我是一个非常有能力的 gdb 用户 但 STL 和 Boost 很容易压垮我的调试技能 并不是说我无法深入了解数据结构的内部结构 而是它需要很长时间 我通常会
  • 持续运行的 C# 代码 - 服务还是单独的线程?

    我有一个 NET 4 Web 应用程序 它有 3 个关联的独立项目 DAL BAL 和 UI 我正在使用实体框架进行数据库交互 我有代码循环遍历一堆数据库数据 根据找到的内容调用方法 然后更新数据库 我希望这段代码一直运行 同时 我希望用户
  • 如何让 PCRE 与 C++ 一起使用?

    这是一个新手问题 但我希望我能尽可能清楚地表达我的问题 我正在尝试用 C 进行模式匹配 我已经从以下位置下载了 PCRE 的 Win32 版本here http gnuwin32 sourceforge net packages pcre
  • 如何在 C++ 中初始化嵌套类的构造函数

    我在初始化嵌套类构造函数时遇到问题 这是我的代码 include
  • 如何在Windows Azure上调用ffmpeg.exe转换音频文件?

    我在 Windows Azure 上运行 Web 角色来接收 AAC 音频文件 通过 base64 字符串上传 并将它们存储到 blob 中 现在效果很好 接下来 我还必须将它们转换为 MP3 并将 MP3 存储到 blob 中 我决定使用
  • 剥离 OLE 标头信息 (MS Access / SQL Server)

    我有一个 C 应用程序需要支持二进制数据库内容 图像等 当使用 MS Access 或 MS SQL Server 时 此数据被包装在 OLE 对象内 如何去除此 OLE 标头信息 请注意 我不能只查找特定标签的开头 因为内容可以是 png
  • 简单的喷射器将具体类型与生活方式结合起来

    我正在寻找一种可以使用指定的生活方式注册具体类型的方法 基本上如下所示 public void SomeFunction Type concrete Lifestyle lifestyle gt container Register con
  • 如何在 Windows 8.1 上打开多个 Visual Studio 窗口? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我使用的是 Windows 7 我能够启动多个 Visual Studio 并同时工作 现在我有 Windows 8 1 操作系统 每当我
  • 如何通过 Excel 互操作对象自动调整列大小?

    下面是我用来将数据加载到 Excel 工作表中的代码 但我希望在加载数据后自动调整列的大小 有谁知道自动调整列大小的最佳方法 using Microsoft Office Interop public class ExportReport
  • Task.Delay 到底是如何工作的?

    他们说 Task Delay 是一个异步 Thread Sleep 为了测试这一点 我写了下面的代码 我希望立即打印 One 然后 3 秒后将打印结果变量 15 2 秒后 将打印 Two 但似乎并非如此 一 不会立即打印 3 秒后打印 On
  • 使用反射检测属性的访问修饰符类型

    我编写了一些代码来使用反射查看属性 我已经使用反射从类中检索了属性列表 但是我需要查明该财产是公共的还是受保护的 例如 public string Name get set protected int Age get set Propert

随机推荐

  • Pandas 列中所有字数的总和

    我有一个包含字符串的 pandas 列 我想获得整列中所有单词的字数 在不循环每个值的情况下执行此操作的最佳方法是什么 df pd DataFrame a some words lots more words hi 当运行于df a 你应该
  • 使用 Java 创建具有相似名称的文件而不覆盖现有文件

    我想知道是否可以创建多个具有相似名称的文件 而不覆盖当前文件 例如 如果我有一个文件 xyz txt 下次我创建它时应该是 xyz 1 txt try File makefile new File output txt FileWriter
  • c11 _Generic 泛型关联的结果表达式的每个分支都必须有效吗?

    我似乎无法将参数传递给需要不同参数的函数 或传递给实现第一个类型的子集的其他 Generic 宏 define DEBUG PRINT x Generic x debug print options DEBUG PRINT CUSTOM T
  • ORACLE NLS_LANG

    如何设置和检查NLS LANG设置 我做到了 set NLS LANG DANISH DENMARK WE8ISO8859P2 在命令提示符下 但我不知道它是否正确 这取决于操作系统和命令解释器 Linux bash echo NLS LA
  • CSS:根据其 href 设置链接样式

    我的网站上有一个我想要设置样式的第三方链接 但它没有任何我可以定位的类或 ID 它唯一拥有的就是它独特的 href 值 是否可以根据其 href 值设置锚标记的样式 您可以使用 href css 选择器来设置样式a基于链接的标签 a hre
  • 如何使用 Python 获取 SVG 路径的高度、宽度和长度?

    我有一个 svg 其中有大量这样的路径
  • FCM 字段“数据”必须是 JSON 数组

    您好 我正在与邮差一起制作我的 json 对象 FCM 消息 但是当我尝试发送时 to fzvihT7dFUI APA91bFVhnWAxXVjlWiiHIs9ZUyL1DE2hZO6GpItJtReh3hcKF1kD6mLuQq9fNP9
  • repz ret:为什么这么麻烦?

    的问题repz ret已经在这里介绍了 1 以及其他来源 2 3 还算满意 然而 在阅读这两个来源时 我找到了以下问题的答案 是什么actual定量比较中的惩罚ret or nop ret 尤其是在后一种情况下 当大多数函数要么有 100
  • 应用程序兼容主题的弹出菜单分隔线

    我使用了应用程序兼容主题样式
  • 在同一行上获取 2 个 div

    我试图让 2 个 div 位于同一行 我已经 div class header div class clear hideSkiplink div class menuDiv div div div
  • 创建带有滚动条的下拉列表

    我有一个包含选项列表的 HTML 下拉列表 当用户单击下拉列表时 应该会看到带有滚动条的前五个选项 我想使用 JavaScript 和 CSS 来实现这一点 由于我对这些不熟悉 请建议我如何使用滚动条显示下拉列表 以便能够滚动并从下拉列表中
  • RegOpenKeyEx() 错误

    我正在使用 Qt 和 mingw 来编写一个更改注册表的程序 但是当我调用时 RegOpenKeyEx HKEY LOCAL MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Defa
  • 实体框架 Fluent API 不考虑基类属性

    EF 6 1 我们刚刚启动了一个有很多继承的项目 选定的继承数据库映射类型是每个层次结构的表 问题是 当尝试使用 add migration 生成迁移时 会引发以下错误 The foreign key component VersionId
  • 如何向 Rails 应用程序添加 IP 限制?

    有没有办法向 Rails 应用程序添加 IP 限制 某种类型的机架中间件 出于安全原因 只有设定的 IP 列表才能访问 Rails 应用程序 Thanks 使用此处描述的路由约束 http guides rubyonrails org ro
  • 对两个条件查询使用相同的谓词

    我想使用相同的数组运行一对查询Predicate 一是统计记录数 一是获取某一页记录 对我来说 这似乎是一个非常正常的用例 所以一定有一个很好的方法来做到这一点 但我还没有找到它 这是获取实体的部分 CriteriaBuilder crit
  • 检索喜欢某个 URL/网页的 Facebook 用户

    如何检索在外部网站上单击 赞 按钮的 Facebook 用户列表 假设我有一个喜欢按钮
  • 如何将 OL 中的一项向右对齐,而其他项在左侧对齐?

    我在 OL 元素中使用 Bootstrap 的面包屑类 除了面包屑信息之外 我还想在 OL 右侧添加最后更新信息 我使用了 text align right 但它不起作用 是否可以 谢谢您的帮助 这是我的代码 ol class breadc
  • 如何从字典列表创建三个单独的值列表,其中每个字典具有三个键

    我是Python新手 对于经验丰富的开发人员和编码人员来说 我的问题可能很简单 但我一直无法找到答案 我正在通过数据库查询检索一些数据 我成功地将查询返回的每一行组织为具有三个键和每个键对应值的字典 本质上 我已将查询返回的所有数据行组织到
  • ACR122u直接通讯无反应

    我正在尝试通过发送直接命令来使用 java 访问我的 ACR122u 奇怪的是我没有得到任何响应 也没有错误 这是我的代码 final static int IOCTL SMARTCARD ACR122 ESCAPE COMMAND 0x0
  • 如何关闭TextInputPanel

    我正在移植 WPF 应用程序以在 Windows 8 平板电脑上运行 我想让文本输入面板在文本框获得焦点时出现 并在文本框失去焦点时消失 让它出现是没有问题的 但我似乎无法让它关闭 我已在进程上尝试了 Kill 和 CloseMainWin