如得到了$tjHandle,这个是一个窗口的句柄
msgbox它的title名字?
第二个问题是,我得到了一个二维数组的变量,如何知道究竟有数组多少有效范围?
这个是上次afan大大出手的代码,我为了练手,改为Return $pidHandle[3][1],但我想把这个数组历遍式地逐个返回handle的tiitle,是不是含有“结果”这个字眼而做if判断,而不是指定的[3][1],应该怎么做呢?;找到MIM进程PID
$list = ProcessList("tj.exe")
;输出MIM进程PID
;msgbox(0,"结果",$list[1][1])
;得到PID号
$PID = $list[1][1];
;得到PID的句柄
$tjHandle = _Pid2Handle($PID)
;msgbox(0,"显示句柄",$tjHandle)
;If $MIMHandle = true Then
; MsgBox(0, "示例", "有handle")
;Else
; MsgBox(0, "示例", "无handle")
;EndIf
WinKill($tjHandle,"")
Func _Pid2Handle($PID)
;Afan提示:通过进程pid返回包含其可见窗口标题和句柄的二维数组
Local $Whall, $i, $pidHandle[1][2] = [[0]], $x = 1
$Whall = WinList()
For $i = 1 To $Whall[0][0]
If WinGetProcess($Whall[$i][1]) = $PID And BitAND(WinGetState($Whall[$i][1]), 2) Then
ReDim $pidHandle[$x + 1][2]
$pidHandle[0][0] += 1
$pidHandle[$x][1] = $Whall[$i][1]
$pidHandle[$x][0] = $Whall[$i][0]
$x += 1
EndIf
Next
Return $pidHandle[3][1]
EndFunc ;==>_Pid2Handle
|