问题标签 [global-hotkey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
387 浏览

windows-10 - 在 Windows 10 上绑定一些全局热键失败

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

我最近被迫升级到 Windows 10。问题之一是某些热键似乎无法绑定。几个例子是CTRL-JCTRL-V

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

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

更新:

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

0 投票
2 回答
271 浏览

swiftui - 在 SwiftUI 中使用热键库

我正在尝试使用这个库:soffes/HotKey in an SwiftUI Application for MacOS。作者将用法描述如下:

  1. 设置热键:
  1. 设置 keyDownHandler 并获取按下热键时的回调:

我的问题是我不知道我必须把处理程序放在哪里。有任何想法吗?

0 投票
0 回答
34 浏览

c# - Globalhotkey - 从文本文件中读取想要的热键

所以我使用 GlobalHotkeys 来注册我的热键。但我想要的不仅仅是制作一个无法更改的密钥,因此可以从 .txt 文件中更改它。所以尝试了类似的方法: 代码

现在我如何让它读取 .txt 文件包含的热键?需要代替“Keys.Insert”成为文本文件中始终显示的任何热键:在 此处输入图像描述

0 投票
1 回答
172 浏览

c# - c# winforms - 是否可以在多个应用程序上使用全局热键

在 PDF 阅读器中,我们使用右箭头按钮切换到下一页。在我自己的 winforms 应用程序中,我将右箭头键分配给全局热键,当我按下右箭头键时,它会显示“hello world”以供试用。

在这种情况下,当我打开 PDF 阅读器并按向右箭头时,它会显示“hello world”,但不会切换到下一页。我希望当我按下 PDF 阅读器上的右箭头按钮时,都切换到下一页并说“hello world”,因为我自己的 winform 应用程序中的全局热键分配。

当我在谷歌上搜索时,我找不到关于这种情况的文章。我怎样才能做到这一点?

0 投票
0 回答
270 浏览

file - 以编程方式拖放文件 - VB6

我正在尝试在当前鼠标位置 FileType PNG(总是)“放置”一个图像文件。

“放置”是指与单击并按住图像,然后在按下热键时将其放置到另一个位置相同类型的功能。

这样,我可以粘贴我刚刚“剪切”的图像并将其粘贴,就好像它是具有适当文件名的文件一样。(这主要用于粘贴到 wordpress 中,并且没有可用的插件来执行此操作)

我已经编写了代码来从剪贴板中抓取图像并保存它。但现在我想抓住这张图片,并在按下热键时将其放在鼠标位置。

热键正在“异步”工作,而我的应用程序没有焦点(按预期),但现在我被困在按下热键时实际删除此文件。

我的表格(2020 年 1 月 27 日更新):

我的模块(2020 年 1 月 27 日更新):

我试图用以下方法模拟这个,但这没有成功..:

copy并没有发生。当我之后手动单击粘贴按钮时,它会将文件粘贴到资源管理器中,但这不是我所追求的拖放功能。

我只是更改了标题以更好地反映我要解决的最终问题。

在为同一个问题提出不同的措辞后,我再次发现自己陷入了死胡同,只是因为我还不明白该对象的OLEdrag工作原理。image这个对象实际上有 OLedragdrop 但我不确定调用它需要什么,startdrag并通过单击我想要放置它的任何位置用鼠标完成它。

0 投票
0 回答
21 浏览

c# - 全球 Hotkay 没有响应

我正在编写一个程序来仅用箭头键移动光标。这个想法是按 ctrl 按钮,然后按箭头键来移动光标。我已经完成了动人的工作,并想出了如何获得平稳和人性化的动作。当涉及到全局热键时,我只是有一个问题......

我已经在全局区域中设置了 DllImport。

后来在 Form1_Load 我找到了窗口,然后设置了一个热键,在这种情况下它是 Control + W (0x0002 + W)

最后我有这个方法可以检测是否按下了热键,但是当我按下热键时,什么也没有发生。我试图在 (if (keyPressed.Msg == 0x0312)) 中设置一个断点,但断点不会消失。为什么会这样?

0 投票
1 回答
183 浏览

c# - 使用 Visual Studio 安装程序安装后的 .NET WPF 运行时错误

我正在使用这种方法在我的 WPF 应用程序中注册一个全局热键。它在调试或从 Visual Studio 运行时工作正常,但在使用 Visual Studio 安装程序项目发布应用程序并将其安装到我的 PC 后,应用程序会引发以下错误(来自事件查看器)。

我尝试过的事情:

  • 以管理员身份运行,
  • 禁用 Windows Defender,
  • 在另一台没有防病毒软件的 Windows 10 PC 上运行
  • 在 x86 配置中构建

错误信息:

其次是:

0 投票
0 回答
53 浏览

c# - 如何在 wpf 应用程序中制作自定义热键并执行各种操作

如何在 wpf 应用程序中制作自定义热键并执行各种操作,如使字段可编辑、保存窗口、转到字段索引。

我正在开发一个包含三个窗口 + 1 个主窗口的 wpf 应用程序。我在主窗口上显示热键快捷方式,以便在所有窗口上都可见。现在我想让应用程序根据我作为热键组合击中的键执行操作。

我已经编写了代码,但是当我在调试模式下运行应用程序时,该Window_KeyDown() 方法会在第一次按键时被命中。例如,如果我点击Alt+F然后代码进入 Alt 本身进入Keyboard.Modifiers.

  1. mainwindow.xaml.cs 中的代码

    private void Window_KeyDown(object sender, KeyEventArgs e) { e.Handled = true; var 修饰符 = Keyboard.Modifiers; var key = e.Key;

  2. mainwindow.xaml 中的代码

<窗口 x:Class="Namespace.MainWindow" Name="mainWindow"

  1. 在主窗口以外的窗口上

我也在尝试对单键点击执行操作。例如,当我按“C”时,我的窗口字段的属性 = Isreadonly 设置为 false,默认情况下,我将文本框类型字段设置为 true。我在三个窗口的每个 .XAML 文件下设置此样式属性。

0 投票
1 回答
568 浏览

autohotkey - 在过去的 X 毫秒内收到了 71 个热键

我有一个分配F1给全局任务的脚本:

一个程序需要使用那个键,所以我把这个:

但是,当我按下它时,会出现此错误:

如果是,则什么都不会发生。如果否,则脚本退出。

你知道会发生什么吗?

0 投票
1 回答
100 浏览

c# - How to change back and forth application focus with global hotkey in C#

I am creating my own C# clipboard manager and I have a global hotkey, ALT+H, that will trigger removal of text formatting from the clipboard. My application runs in the backend with a tray icon only. As such this is working fine but my problem is that when I am inside an application, e.g. Word and I am pressing my hotkey, then it will show me all kind of menus inside those applications and I do not want that.

Just for info then this is very related to another question I have on SO currently, How to stop further processing global hotkeys in C#. In the other question, this is based on finding a solution for the hotkey but another approach, which I think could even be better, could be to temporary switch focus to my application and once my hotkey is no longer applicable then the focus can be switched back to the originating application.

However then I have no idea how to switch back to the originating application again!?

My code so far, only focussing on the application changing mechanishmn:

Programs.cs:

Form1.cs:

I am not fully sure if this actually does work but I can see that the originating application (e.g. Word) looses focus and my application works fine still so I do expect it works fine.

My problem is - how to get the hWnd(?) handle from the originating application so I can switch back to it once done? And what if I am not within any application but e.g. just on the WIndows desktop? What will then happen - can it change back to that?

I would appreciate any hints that can help as I am by far no real C# developer ;-)