为什么我不能在程序外使用键绑定?

问题描述

我正在尝试制作程序来打开其他应用程序,打开这个程序我不想使用键绑定和隐藏。

        private void Window_KeyDown(object sender,KeyEventArgs e)
        {
            if (Dark == 0)
            {
                if (e.Key == Key.LeftCtrl)
                {
                    if (e.Key == Key.LWin)
                    {
                        this.Topmost = true;
                        Dark = 1;
                    }
                }
            }
            else if(Dark == 1)
            {
                if (e.Key == Key.LeftCtrl)
                {
                    if (e.Key == Key.LWin)
                    {
                        this.Topmost = false;
                        Dark = 0;
                        WindowState = WindowState.Minimized;
                    }
                }
                else if (e.Key == Key.Escape)
                {
                    this.Topmost = false;
                    Dark = 0;
                    WindowState = WindowState.Minimized;
                }
            }

在程序之外,keybinds 根本不起作用,但如果程序是打开的,那么它们起作用,为什么?

解决方法

可以参考我的类,用于全局钩子键事件 https://github.com/nhochjkaru/JEOrbwalk/blob/master/UserActivityHook.cs

声明:UserActivityHook actHook; 主要功能:

actHook = new UserActivityHook(); 
actHook.KeyDown += new KeyEventHandler(Window_KeyDown);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...