【易语言/火山pc】怎样用一个键 实现单击、双击、三击及长按某键功能? 希望给个例程源码啥的,如果要用到时钟的话最好用SetTimer 和keybd event 实现, 因为要在游戏里使用不被屏蔽,(有人推荐SendInput 但是这个好像会被屏蔽)
以下是错误代码示范:利快云
.版本 2
.支持库 spec
.子程序 微标键周期反馈事件
限时器 = 20
.判断开始 (定时器设定值 ≠ 0) ' 在一开始判断给定的时钟周期是否等于0
' 调试输出 (“时钟循环”, 集_计时器, “次”)
.判断开始 (集_计时器 < 限时器) ' 解释:集_计时器 用来记录这个时钟循环了多少次,循环小于30次,且次数不能大于给定的目标 5次
' 调试输出 (“这是一个api时钟反馈周期,用于反馈微标键的操作事件----------------------------”)
集_计时器 = 集_计时器 + 1 ' 没有达到目标就每循环一次都加1次,累计次数
调试输出 (“时钟循环”, 集_计时器, “次”)
.如果真 (集_计时器 ≥ 30)
' 是否销毁时钟 = 销毁时钟_ (0, 0)
.如果真结束
.判断 (集_计时器 ≥ 30) ' 如果 大于 限时器 设置的目标,但是小于 集_计时器的30次数,则来到这里
' 调试输出 (“===========限时器 ----4毫秒内算双击=========”, 限时器)
' 调试输出 (“目标是” + 到文本 (限时器) + “已经超时”, , “但循环还没超时”)
调试输出 (“集_计时器 > 限时器,值为:”, 集_计时器)
' 集_计时器 = 0
' 是否销毁时钟 = 销毁时钟_ (0, 0)
.' 如果真 (是否销毁时钟 = 假)
' 销毁时钟_ (0, 0)
' 定时器设定值 = 0
' 集_计时器 = 0
.如果真结束
.判断开始断 (单击次数.次数 < 3)
' 单击次数.次数 = 1
' 单击次数.次数 = 单击次数.次数 + 1
' 调试输出 (“按下了中键”, )
.默认
.判断结束
.' 判断 (集_计时器 > 限时器) ' 如果 时钟循环的次数 大于目标 限时器 的值
' 单击次数.次数 = 0
' ' 调试输出 (“===========限时器 ----4毫秒内算双击=========”, 限时器)
' 调试输出 (“集_计时器 > 限时器,值为:”, 集_计时器)
' 是否销毁时钟 = 销毁时钟_ (0, 0)
.' 如果真 (是否销毁时钟 = 假)
' 销毁时钟_ (0, 0)
' 定时器设定值 = 0
.如果真结束
.默认
.判断结束
' 调试输出 (“全局_要模拟的按键”, 全局_要模拟的按键, “单击次数.次数”, 单击次数.次数, “集_计时器 ”, 集_计时器, “限时器”, 限时器, “销毁时钟”, 是否销毁时钟)
.默认
' 是否销毁时钟 = 销毁时钟_ (0, 0)
.' 如果真 (是否销毁时钟 = 假)
' 销毁时钟_ (0, 0)
' 定时器设定值 = 0
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。