如何将WPF应用程序设置为始终处于非活动状态,以便不会从其他应用程序中窃取焦点

时间:2016-06-02 02:50:50

标签: c# wpf keyboard

我想要的是什么:

将我的WPF设置为无效,即使我按下按钮,无论我使用该WPF应用程序做什么,因为我正在与它进行交互,我不希望任何其他应用程序失去它的焦点/激活,例如,软件键盘如何工作?如果键盘要正确输入文本,则在使用软件键盘时,活动窗口(例如谷歌)必须保持活动状态,否则键盘将无法输入击键,因为谷歌在触摸键盘时失去焦点/激活

我想做什么:

 private void button_Click(object sender, RoutedEventArgs e)
{

    InputSimulator.SimulateTextEntry("1");

}

我的WPF需要将该击键文本发送到“google”的活动窗口,但是当我按下按钮时,谷歌的焦点/激活会丢失并且它现在在我的WPF应用程序中,因为我可以不发送击键,想象一下表面专业3软件键盘,当你按下它的按钮时它不会带走当前应用程序的焦点/激活,我想做类似的事情,我该怎么做?

1 个答案:

答案 0 :(得分:0)

不确定是否可能,因为您只需将窗口对焦于点击。 当它聚焦时,你可以一直不关注主窗口。

 public partial class App : Application
  {
    public App()
    {      
       Activated += (s,e) => 
       {
          App.Current.MainWindow.SetValue(MyApp.MainWindow.IsFocusedProperty, false);
       };
    }   
  }