标签: global-hotkey

在Windows 10上绑定某些全局热键失败

我是Windows的长期用户,他非常喜欢使用许多不同的实用程序(有些是我自己用Python编写的)和AutoHotKey脚本来自定义Windows。这些都使用全局热键来实现其功能。

最近,我被迫升级到Windows10。问题之一是某些热键似乎无法绑定。几个示例是ctrl-j和ctrl-v。

有人告诉我,我需要通过“属性”将这些应用标记为以管理员身份运行,但是即使如此,它们仍无法成功绑定到这些热键。

知道如何绑定这些热键吗?

更新:

像AHK看起来能够绑定到这些键,但不断有用同上也没有了,我的wxPython的程序是没有。知道为什么后两个不能绑定到这些键,我该如何解决?

wxpython autohotkey keyboard-shortcuts global-hotkey windows-10

9
推荐指数
1
解决办法
136
查看次数

WPF Global Hotkeys/Global Hook Keystrokes

首先,我想知道Global Hotkeys和Hook Global Keystrokes之间有什么区别,并将它们用作热键?

其次,我想在我的应用程序中使用全局热键,它将有两个部分:1.我将创建一个窗口,向用户显示他现在按下的键,使用KeyUp功能,它将保存组合.2.按下步骤1的组合时,将调用特定功能

用户可以同时拥有多个热键组合,每个热键组合调用不同的功能.

我在互联网上找到了很多解决方案/解释/但我不知道哪个最符合我的需求 - 这就是我需要你帮助的地方.

以下是我发现的一些(可能全部)解决方案/解释/内容:

在WPF/C#中使用全局键盘钩子(WH_KEYBOARD_LL)

https://gist.github.com/Ciantic/471698

http://www.dreamincode.net/forums/topic/180436-global-hotkeys/

http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731.aspx

http://www.codeproject.com/Tips/274003/Global-Hotkeys-in-WPF

http://www.pinvoke.net/default.aspx/user32/RegisterHotKey.html

如何使用WPF和.NET 3.5注册全局热键来说CTRL + SHIFT +(LETTER)?

WPF中的全局热键在每个窗口中工作



非常感谢你的帮助

c# wpf keystroke global-hotkey

6
推荐指数
0
解决办法
2433
查看次数

全局键盘挂钩(C#)

可能重复:
C#应用程序中的全局键盘捕获

任何人都可以帮我为我的应用程序设置全局键盘钩子吗?

我想设置可以在不关注实际表单时使用的热键(例如Ctrl+ S).

c# windows hotkeys global-hotkey

5
推荐指数
1
解决办法
2万
查看次数

在不聚焦窗口的情况下捕获键

我有一个应用程序,该应用程序始终检查是否F12按下了某个键。它不需要将焦点放在应用程序的主窗口上。我尝试了这段代码:

public int a = 1;
    // DLL libraries used to manage hotkeys
    [DllImport("user32.dll")]
    public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc);
    [DllImport("user32.dll")]
    public static extern bool UnregisterHotKey(IntPtr hWnd, int id);

    const int MYACTION_HOTKEY_ID = 1;

    public Form1()
    {
        InitializeComponent();
        // Modifier keys codes: Alt = 1, Ctrl = 2, Shift = 4, Win = 8
        // Compute the addition of each combination of the keys you want to be pressed
        // ALT+CTRL = …
Run Code Online (Sandbox Code Playgroud)

c# keyboard-hook global-hotkey

5
推荐指数
1
解决办法
6267
查看次数

全局热键在全屏游戏中不起作用

我正在创建一个程序,用于截取游戏的截图.当我按热键时它可以工作,但是在全屏打开游戏时它不会检测到键.

我的代码:

protected override void WndProc(ref Message m)
{
    const int WM_HOTKEY = 0x0312;

    switch (m.Msg)
    {
        case WM_HOTKEY:
        {
            if ((short)m.WParam == 1)
            {
                start = DateTime.Now;
                progressBar1.Maximum = 1;
                progressBar1.Step = 1;
                progressBar1.Value = 0;

                DoRequest();
            }
            break;
        }

        default:
        {
            base.WndProc(ref m);
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用以下方式注册全局密钥:

RegisterHotKey(this.Handle, 1, (int)KeyModifier.None, Keys.F11);
Run Code Online (Sandbox Code Playgroud)

帮我 :/

解决了! 解决了,我设法修复了这个项目:http: //www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook

谢谢你们!

c# screenshot global-hotkey

5
推荐指数
1
解决办法
1485
查看次数

C#全局键盘钩子,用于从控制台应用程序打开表单

所以我有一个带有Form的C#控制台应用程序,我想用热键打开它.比如说Ctrl+ <打开表单.所以我现在得到了处理globalkeylistener的代码,但看起来我实现它失败了.它创建了一个while循环来阻止它关闭程序,我尝试使用kbh_OnKeyPressed方法从用户那里获得输入.

我试着用这种方式实现它:

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace Globalkey
{
    static class Program
    {
        [DllImport("user32.dll")]
        private static extern bool RegisterHotkey(int id, uint fsModifiers, uint vk);

        private static bool lctrlKeyPressed;
        private static bool f1KeyPressed;


        [STAThread]
        static void Main()
        {

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            LowLevelKeyboardHook kbh = new LowLevelKeyboardHook();
            kbh.OnKeyPressed += kbh_OnKeyPressed;
            kbh.OnKeyUnpressed += kbh_OnKeyUnpressed;
            kbh.HookKeyboard();

            while(true) { }

        }

        private static void kbh_OnKeyUnpressed(object sender, Keys e)
        {
            if (e == Keys.LControlKey)
            { …
Run Code Online (Sandbox Code Playgroud)

c# forms hotkeys global-hotkey

5
推荐指数
1
解决办法
3766
查看次数

使用C#中的全局热键进行密钥捕获

我有一个在后台运行的应用程序,就像我可以将我的应用程序保存在系统托盘中.如果它仍然在系统托盘上,我的应用程序将完成它的工作.每当用户按F10或F9时,将完成一些工作.我试过这个:

public partial class Form1 : Form
{
    public int a = 1;

    [DllImport("user32.dll")]
    public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc);
    [DllImport("user32.dll")]
    public static extern bool UnregisterHotKey(IntPtr hWnd, int id);


    [DllImport("User32.dll")]
    private static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);
    [DllImport("User32.dll")]
    private static extern short GetAsyncKeyState(System.Int32 vKey);

    const int MYACTION_HOTKEY_ID = 1;

    public Form1()
    {
        InitializeComponent();
        RegisterHotKey(this.Handle, MYACTION_HOTKEY_ID, 0, (int) Keys.F9);
        RegisterHotKey(this.Handle, MYACTION_HOTKEY_ID, 0, (int)Keys.F10);

        this.ShowInTaskbar = false;
    }

    protected override void WndProc(ref Message m)
    {
        if (m.Msg …
Run Code Online (Sandbox Code Playgroud)

c# keyboard-hook global-hotkey

4
推荐指数
1
解决办法
2165
查看次数

如何使用 3 个参数在 Windows 上创建全局热键?

就像 Ctl, Alt + delete

我想编写一个程序,它在 python 中使用带有 3 个或更多参数的全局热键。分配的功能应该只在我按下键盘上的所有三个键时执行。例如 alt、windows 和 F3。

win32con.VK_F3, win32con.MOD_WIN, win32con.VK_F5
Run Code Online (Sandbox Code Playgroud)

这是我要运行的当前程序,但是它的输出是:

win32con.VK_F3, win32con.MOD_WIN, win32con.VK_F5
Run Code Online (Sandbox Code Playgroud)

该程序:

import os
import sys
import ctypes
from ctypes import wintypes
import win32con

byref = ctypes.byref
user32 = ctypes.windll.user32

HOTKEYS = {
  1 : (win32con.VK_F3, win32con.MOD_WIN, win32con.VK_F5),
  2 : (win32con.VK_F4, win32con.MOD_WIN),
  3 : (win32con.VK_F2, win32con.MOD_WIN)
    }

    def handle_win_f3 ():
  #os.startfile (os.environ['TEMP'])
  print ("Hello WOrld! F3")

def handle_win_f4 ():
  #user32.PostQuitMessage (0)
    print ("Hello WOrld! F4")

def handle_win_f1_escape ():
    print("exit")
    sys.exit()

HOTKEY_ACTIONS …
Run Code Online (Sandbox Code Playgroud)

python hotkeys registerhotkey global-hotkey

3
推荐指数
1
解决办法
7305
查看次数

可可替代全球热键的碳事件

我刚刚阅读了有关如何使用Carbon事件创建全局热键的文章.在作者提到的评论中,他不再使用这种技术,因为它是"弃用的方式".到现在为止还挺好.

现在我正在寻找Cocoa吊坠.有人有提示在哪里搜索它吗?我试着稍微谷歌,但我发现的一切都与他采取的方法相同.

谢谢
-f

events cocoa macos-carbon objective-c global-hotkey

0
推荐指数
1
解决办法
1270
查看次数