【发布时间】:2019-06-06 03:11:49
【问题描述】:
我使用屏幕键盘输入数学笔记。我将它的一些按钮定义为热键组合,有效地创建了这样的触摸屏宏:
^!2::send tan
^!3::send cos
^!4::send, sin
^!5::send csc
^!6::send sec
^!0::send cot
当(且仅当)单击鼠标左键时,我需要将这些热键切换为 ON,以确保发送触摸屏键盘上的正确宏(并且键盘上的普通键在任何其他时间都处于活动状态。 )
以下代码有效,除了一个用于切换我使用的设备管理软件 (DevManView) 的宏。该软件切换仅在脚本未挂起时才能可靠运行。
Suspend, on
~LButton::suspend, off
~lbutton up::
sleep, 50
suspend, on
return
所以我正在寻找另一种在不暂停整个脚本的情况下切换这些宏的方法。它还会教我一两件事关于循环解析。
keys:="^!,¢^!\¢^!1¢^!8¢^!`¢^!2¢^!3¢^!4¢^!5¢^!6¢^!0¢^!.¢@¢^@¢^#¢^$¢^+5¢^^¢^*¢^`"
Loop,Parse,keys, ¢ ;create the hotkeys
Hotkey,$%A_loopField%,MEOK_MACROS
Loop,Parse,keys ;turn them off
Hotkey,$%A_loopField%,Off
~LButton::
sleep, 50
Loop,Parse,keys ;toggle hotkeys
Hotkey,$%A_loopField%,Toggle
return
MEOK_MACROS:
Send % InStr(keys,SubStr(A_ThisHotkey,0))
return
我想将我创建的所有 control+alt+(key) 和 control+(key) 宏放到一个字符串中,然后使用 ~LButton 打开和关闭它们。你能指出我在这里出错的地方吗?
【问题讨论】:
标签: loops parsing autohotkey