【问题标题】:Why won't hotkeys work on certain desktop applications?为什么热键在某些桌面应用程序上不起作用?
【发布时间】:2021-10-15 04:36:08
【问题描述】:

好的,所以我使用 Autoit、python 和 Powertoys 创建快捷方式,但是当我尝试在某个桌面应用程序(它是一个收银机应用程序)上使用热键时,它不会响应,脚本仍在工作,因为我去了回到记事本,热键仍然有效。有谁知道为什么应用程序不会响应模拟击键?

HotKeySet ( '{Insert}' ,'Func1')
HotKeySet ( 'x' ,'Func2')

While 1
    Sleep(50)
WEnd

Func Func1()
    Send("b")
EndFunc


Func Func2()
    Exit
EndFunc

热键在记事本和互联网上工作正常,但是当我单击收银机应用程序时,热键不起作用,脚本仍在运行,因为如果我返回记事本,热键仍然有效。

【问题讨论】:

  • 你能分享代码吗?应用程序本身是否使用该热键?
  • 您可以使用GUISetAccelerators,它专门在 GUI 处于活动状态时设置热键。您可以将句柄设置为收银机应用程序。只是为了测试您是否可以在另一个应用程序中使用热键,否则我的印象是热键被覆盖了。

标签: autoit hotkeys


【解决方案1】:

我首先要做的是检查热键是否被现有应用程序设置或阻止。始终检查错误。

Func Func1()
    If @HotKeyPressed = 0 Then Return MsgBox(0, "Hotkeyset Error", "Hotkey " & @HotKeyPressed & " already set by another task.")
EndFunc

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2011-03-16
    • 2021-11-15
    • 2019-08-28
    • 2014-12-19
    • 2021-12-22
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多