douyuan 发表于 2008-8-11 23:51:22

多项检测怎么启动同一程序?

我有一段代码
$ml1=IniRead("myfile.ini", "网游目录", "第一目录", "未知")
$ml2=IniRead("myfile.ini", "网游目录", "第二目录", "未知")
$ml3=IniRead("myfile.ini", "网游目录", "第三目录", "未知")
$dir=("梦幻西游")
$pro=("my.exe")
If FileExists($ml1 & '\'&$dir) Then
run($ml1 & '\'&$dir& '\'&$pro,$ml1 & '\'&$dir)
(接着运行)
EndIf
If FileExists($ml2 & '\'&$dir) Then
run($ml2 & '\'&$dir& '\'&$pro,$ml2 & '\'&$dir)
(接着运行)
EndIf
if FileExists($ml3 & '\'&$dir) then
run($ml3 & '\'&$dir& '\'&$pro,$ml3 & '\'&$dir)
(接着运行)
EndIf       

我希望在这三个检测之后在(接着运行)位置运行同一脚本这段脚本就是:
sleep("8000")
If ProcessExists("gpatch.exe") Then
WinWaitActive("恭喜")
processclose("gpatch.exe")
endif
processclose("my.exe")

可以通什么什么方法实现引用?而不需要每个(接着运行)都复制整个脚本?

[ 本帖最后由 douyuan 于 2008-8-12 15:35 编辑 ]

jerald 发表于 2008-8-12 12:35:35

if FileExists($ml3 & '\'&$dir) then
run($ml3 & '\'&$dir& '\'&$pro,$ml3 & '\'&$dir)
;(接着运行)
;我希望在这三个检测之后在(接着运行)位置运行同一脚本这段脚本就是:
sleep("8000")
If ProcessExists("gpatch.exe") Then
WinWaitActive("恭喜")
processclose("gpatch.exe")
endif
endif

这样应该可以,不过好像不好看。。
processclose("my.exe")

jhwl 发表于 2008-8-12 13:46:15

$ml1 = IniRead("myfile.ini", "网游目录", "第一目录", "未知")
$ml2 = IniRead("myfile.ini", "网游目录", "第二目录", "未知")
$ml3 = IniRead("myfile.ini", "网游目录", "第三目录", "未知")
$dir = ("梦幻西游")
$pro = ("my.exe")
For $i = 1 To 3 Step 1
        $ml = Eval("m" & "l" & $i)
        If FileExists($ml & '\' & $dir) Then
                Run($ml & '\' & $dir & '\' & $pro, $ml & '\' & $dir)
                _jzyy()
                ExitLoop
        EndIf
Next
Func _jzyy()
Sleep("8000")
If ProcessExists("gpatch.exe") Then
        WinWaitActive("恭喜")
        ProcessClose("gpatch.exe")
EndIf
ProcessClose("my.exe")
EndFunc
页: [1]
查看完整版本: 多项检测怎么启动同一程序?