【解决】怎么样同时执行多个func
本帖最后由 3131210 于 2018-12-7 21:19 编辑有什么办法可以同时执行func Example吗?代码有sleep因为要运行一些应用进行同样操作但是打开的时候要等几秒
Dim $iPID
For $i = 1 To 5
Example($i)
Next
Func Example($number)
$iPID[$number - 1] = Run('notepad.exe', '')
Sleep(3000)
ProcessClose($iPID[$number - 1])
EndFunc ;==>Example
多进程吧!比较简单 Dim $iPID
If $CmdLine=1 Then
Example($CmdLine)
Else
For $i = 1 To 5
Run(@ScriptFullPath & ' '&$i)
Next
EndIf
Func Example($number)
$iPID[$number - 1] = Run('notepad.exe', '')
Sleep(3000)
ProcessClose($iPID[$number - 1])
EndFunc ;==>Example
编译后使用 这个也是多进程吧 #include "CoProc.au3"
_CoProc("Test_1(1)")
_CoProc("Test_2(2)")
Func Test_1($sText)
Local $iPID = Run('cmd')
Sleep(3000)
$var = WinList()
For $i = 1 To $var
$temppid = WinGetProcess($var[$i])
If $temppid = $iPID Then ExitLoop
Next
ControlSend($var[$i], '', '', $sText)
EndFunc ;==>Test_1
Func Test_2($sText)
Local $iPID = Run('cmd')
Sleep(3000)
$var = WinList()
For $i = 1 To $var
$temppid = WinGetProcess($var[$i])
If $temppid = $iPID Then ExitLoop
Next
ControlSend($var[$i], '', '', $sText)
EndFunc ;==>Test_2
最后还是用CoProc多进程解决的 CoProc.au3正解,哈哈
页:
[1]