|
楼主 |
发表于 2008-5-16 06:42:27
|
显示全部楼层
我弄好了,但是不是很满意。请高手再优化一下。
#include <winapi.au3>
Local $iProcessID
$pid=Run("a.exe");一个有窗口的测试程序
Sleep(2000) ;这里不满意。时间过大了浪费,过小吧窗口还没出现,winlist()无法捕捉到。希望winwait函数能用在这里
$wlis=WinList()
for $i=1 to $wlis[0][0]
if $wlis[$i][0]<> "" AND IsVisible($wlis[$i][1]) then
_WinAPI_GetWindowThreadProcessId($wlis[$i][1], $iProcessID) ;这里$iProcessID不是参数吗,怎么返回值好像赋给它了一样。
If not StringCompare($iProcessID,$pid) then
MsgBox(0,"t",$wlis[$i][0])
EndIf
EndIf
Next
Func IsVisible($handle)
If BitAnd( WinGetState($handle), 2 ) Then
Return 1
Else
Return 0
EndIf
EndFunc
[ 本帖最后由 jiataifeng 于 2008-5-16 06:55 编辑 ] |
|