谁帮看一下哪里出错了运行无效果 问题已解决
本帖最后由 hao1233 于 2013-7-19 20:11 编辑代码
#include <Process.au3>
Break(0)
TraySetState(2)
AdlibRegister("kssm", 800)
For $i = 1 To 10
$path = IniRead("D:\tool\dvr.dat", "目录", "dvr" & $i, "notfound")
Next
While True
Sleep(100)
WEnd
Func kssm()
ProcessClose($path)
EndFunc ;==>kssm
ini配置
[目录]
dvr1=YY.exe
dvr2=QQProtect.exe
哪位老大帮看一下哪里出问题 FOR是不是应该放到FUNC里面去啊#include <Process.au3>
Break(0)
TraySetState(2)
AdlibRegister("kssm", 800)
While True
Sleep(100)
WEnd
Func kssm()
For $i = 1 To 10
$path = IniRead("D:\tool\dvr.dat", "目录", "dvr" & $i, "notfound")
ProcessClose($path)
Next
EndFunc ;==>kssm
回复 1# hao1233
Adlib 函数的运行时间太长, 差不多1秒(800)后才运行,
而此时代码已遍历获取完所有 $path, 最后其内容为 'not found'.
配置里 加上 dvr10 的字段就可以(也只能)关闭其对应的程序.
要想达到预期目的,应该这样吧:#include <Process.au3>
Local $i = 1
Break(0)
TraySetState(2)
AdlibRegister("kssm", 800)
While True
Sleep(100)
WEnd
Func kssm()
$path = IniRead("D:\tool\dvr.dat", "目录", "dvr" & $i, "notfound")
ProcessClose($path)
$i += 1
If $i > 10 Then $i = 1
EndFunc ;==>kssm
本帖最后由 hao1233 于 2013-7-19 20:24 编辑
二楼和三楼的代码都可以解决问题
谢谢了
感谢三楼的详细讲解
页:
[1]