虚拟键盘在顶部

本文关键字:顶部 键盘 虚拟 | 更新日期: 2023-09-27 18:02:07

我们将创建一个虚拟键盘(屏幕键盘)与自定义键(没有Ctrl, Alt和…)。问题是,当我们将应用程序设置为Topmost="Ture"时,不可能找到最后一个活动应用程序的窗口来将所选密钥发送给它。(键盘应用程序现在是活动的。)我们做了一些搜索,但没有找到任何有用的

虚拟键盘在顶部

在将该属性设置为true之前保持对最后一个窗口的句柄,查看GetForegroundWindow()或GetActiveWindow(),然后使用SetActiveWindow()在完成键盘应用程序后将其设置回来。

using System;
using System.Runtime.InteropServices;
namespace Foreground {
  class GetForegroundWindowTest {
    [DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
    public static extern IntPtr GetForegroundWindow();
    public static void Main(string[] args){
        IntPtr fg = GetForegroundWindow(); //use to keep the last active window
        // set the topmost property to your keyboard        
        //Set fg to be active again when needed using SetActiveWindow()
    }
  }
}

感谢您的帮助和解答。我找到了工作,它解决了我的问题。您可以查看代码