【问题标题】:why can't I use keybinds outside the program?为什么我不能在程序外使用键绑定?
【发布时间】:2021-08-01 21:14:13
【问题描述】:

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

        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;
                }
            }

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

【问题讨论】:

    标签: c# wpf keypress topmost minimized


    【解决方案1】:

    你可以参考我的课,用来全局hook key事件 https://github.com/nhochjkaru/JEOrbwalk/blob/master/UserActivityHook.cs

    声明:UserActivityHook actHook; 主要功能:

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

    【讨论】:

    • 第 275 行:公共事件 KeyPressEventHandler KeyPress;
    • 第 654 行:鼠标按钮按钮 = 鼠标按钮.None;
    • 769: Keys keyData = (Keys)MyKeyboardHookStruct.vkCode; 770: KeyEventArgs e = new **KeyEventArgs**(keyData);
    • 我无法在没有错误详细信息而不是错误代码行的情况下发表评论。确保您已更改类的名称空间。 @Darksli
    • 使用 System.Windows.Forms; @Darksli
    猜你喜欢
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    相关资源
    最近更新 更多