本帖最后由 user3000 于 2012-5-5 08:05 编辑
回复 13# netegg
我12楼测试结果还是有错误, 复制楼主代码后, 第1条Case里没加 ContinueCase
Au3 中的 Select 判断加入 ContinueCase 的作用是:
当出现 CASE 真判断, 其跟有 ContinueCase 的, 下一条的 Case 语句 无论真假 肯定, 必定, 绝对会 执行!
如果接着还有 ContinueCase 关键词, 则下下条Case 语句 无论真假也是 肯定, 必定, 绝对会 执行! 一路执行下去, 直到遇到没有 ContinueCase 的 Case 行为止!
大家测试下面代码就知道了.
Dim $a = "explorer.exe"
Dim $aa = ProcessExists($a)
MsgBox(0, '开始第1次测试', '第一个判断为真, 有5条信息!')
Select
Case $aa <> 0
MsgBox(64, '判断1-1', $a & "进程存在,其pid为:" & $aa)
ContinueCase
Case $aa = 0
MsgBox(64, '判断1-2', $a & "进程不存在")
ContinueCase
Case $aa = 1000
MsgBox(64, '判断1-3', $a & "进程存在")
ContinueCase
Case $aa = 220
MsgBox(64, '判断1-4', $a & "进程存在")
ContinueCase
Case Else
MsgBox(64, '判断1-5', "不存在检测的进程")
EndSelect
MsgBox(0, '开始第2次测试', '将刚才为真的判断移动到倒数第2的位置' & @CRLF & '结果显示2条信息!', 2)
Select
Case $aa = 0
MsgBox(64, '判断2-1', $a & "进程不存在")
ContinueCase
Case $aa = 1000
MsgBox(64, '判断2-2', $a & "进程存在")
ContinueCase
Case $aa = 220
MsgBox(64, '判断2-3', $a & "进程存在")
ContinueCase
Case $aa <> 0
MsgBox(64, '判断2-4', $a & "进程存在,其pid为:" & $aa)
ContinueCase
Case Else
MsgBox(64, '判断2-5', "不存在检测的进程")
EndSelect
MsgBox(0, '测试信息', '将刚才为真的判断移动到倒数第3的位置' & @CRLF & '结果显示3条信息!', 2)
Select
Case $aa = 0
MsgBox(64, '判断3-1', $a & "进程不存在")
ContinueCase
Case $aa = 1000
MsgBox(64, '判断3-2', $a & "进程存在")
ContinueCase
Case $aa <> 0
MsgBox(64, '判断3-3', $a & "进程存在,其pid为:" & $aa)
ContinueCase
Case $aa = 220
MsgBox(64, '判断3-4', $a & "进程存在")
ContinueCase
Case Else
MsgBox(64, '判断3-5', "不存在检测的进程")
EndSelect
|