请问如何检测最后按下的键并执行相应操作? Topic is solved

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

willpangela
Posts: 2
Joined: 21 Dec 2018, 09:11

请问如何检测最后按下的键并执行相应操作?

Post by willpangela » 21 Dec 2018, 09:17

Code: Select all

#InstallKeybdHook

#InstallmouseHook

sleep 2222

if A_priorkey != lbutton or A_priorkey != enter

    exitapp

msgbox you confirmed


鼠标左击或者按回车提示已确认,不过我写的这个代码不管用,永远都是在if里面就退出了,希望高手指点迷津,谢谢!

Moderator Note: Added code tags. ~ sinkfaze
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: 请问如何检测最后按下的键并执行相应操作?  Topic is solved

Post by tmplinshi » 22 Dec 2018, 09:54

有两个错误。

1. if 语法错误

AHK 中的 if 有两种写法。
  1. 第一种就是你代码中那样,这是 AHK 1.0.x 旧版本遗留下来的写法。

    Code: Select all

    if A_priorkey != lbutton or A_priorkey != enter
    但是这句代码并不是你以为的那样,它的意思其实是:如果 A_priorkey 不等于 lbutton or A_priorkey != enter。可运行以下代码验证一下就知道了:

    Code: Select all

    s := "lbutton or s = enter"
    if s = lbutton or s = enter
    	msgbox 是的,s 等于【lbutton or s = enter】
  2. 第二种写法: if (表达式),这是推荐的写法

    Code: Select all

    if (A_priorkey != "lbutton") or (A_priorkey != "enter")
2. if 逻辑错误

你那句 if 应该改成 and

Code: Select all

#InstallKeybdHook
#InstallmouseHook

sleep 2222

if (A_priorkey != "lbutton") and (A_priorkey != "enter")
	exitapp

msgbox you confirmed
willpangela
Posts: 2
Joined: 21 Dec 2018, 09:11

Re: 请问如何检测最后按下的键并执行相应操作?

Post by willpangela » 22 Dec 2018, 10:48

tmplinshi wrote:
22 Dec 2018, 09:54
有两个错误。

1. if 语法错误

AHK 中的 if 有两种写法。
  1. 第一种就是你代码中那样,这是 AHK 1.0.x 旧版本遗留下来的写法。

    Code: Select all

    if A_priorkey != lbutton or A_priorkey != enter
    但是这句代码并不是你以为的那样,它的意思其实是:如果 A_priorkey 不等于 lbutton or A_priorkey != enter。可运行以下代码验证一下就知道了:

    Code: Select all

    s := "lbutton or s = enter"
    if s = lbutton or s = enter
    	msgbox 是的,s 等于【lbutton or s = enter】
  2. 第二种写法: if (表达式),这是推荐的写法

    Code: Select all

    if (A_priorkey != "lbutton") or (A_priorkey != "enter")
2. if 逻辑错误

你那句 if 应该改成 and

Code: Select all

#InstallKeybdHook
#InstallmouseHook

sleep 2222

if (A_priorkey != "lbutton") and (A_priorkey != "enter")
	exitapp

msgbox you confirmed

感谢回复
Post Reply

Return to “请求帮助”