按键精灵高手请进!!

2024-12-04 17:57:04
推荐回答(2个)
回答1:

因为你的总循环设置在了获取窗口句柄那句的前面,你获取窗口并且无限循环,那么等你开了新窗口的时候循环到了获取句柄的时候获取的当然就是新句柄了,所以发言到了新窗口。
总循环应该设置在获取句柄之下。
要对多个窗口后台操作要用到多线程:
BeginThread "line1"
BeginThread "line2"
BeginThread "line3"
Sub line1
WaitKey key
If key=49
//插入你对第一个窗口的操作
Else
Gosub line1
EndIf
Return
Sub line2
WaitKey key
If key=49
Rem 2
WaitKey key
Else
Gosub line2
EndIf
If key=50
//插入你对第二个窗口的操作
Else
Goto 2
EndIf
Return
Sub line3
WaitKey key
If key=49
Rem 3
WaitKey key
Else
Gosub line3
EndIf
If key=50
Rem 4
WaitKey key
Else
Goto 3
EndIf
If key=51
//插入你对第三个窗口的操作
Else
Goto 4
EndIf
Return
整句的意思是,如果按1,则执行对第一个窗口的操作,如果按2,就执行对第二个窗口的操作,如果按3执行对第三个窗口的操作,我标出的三个注释是插入你要操作的语句用的,当然,控制执行哪个窗口的键你也可以改,我用的是123,你也可以用ABC,还有,抓句柄的时候要对每一个窗口按一次键,记得对记录每个窗口句柄的变量用不同的英文表示,以免重复对一个窗口进行操作。

回答2:

你的if 没有配对的 end if
你在第7行下面加个end if就没问题了 低级错误