这个是Bug还是?
#include <Array.au3>
Local $a=ProcessGetStats(1121111211,0)
_ArrayDisplay($a)
Local $b=ProcessGetStats(0,0)
_ArrayDisplay($b)
;函数ProcessGetStats()
;成功: 返回一个包含信息数据的数组(参考注意部分).
;失败: 返回0.
PID根本不存在,得到的数据是谁的? 回复 1# Qokelate
试试这个:#include <Array.au3>
Local $a=ProcessGetStats(1121111211,1)
Local $b=ProcessGetStats(0,1)
Local $c=ProcessGetStats('', 1)
Sleep(1000)
ConsoleWrite($a & @TAB & $a & @LF & $b & @TAB & $b & @LF & $c & @TAB & $c & @CRLF)我认为都是获取了'当前进程', 也就是执行脚本的信息. 回复 2# user3000
既是如此,那是否意味着这个函数总是返回成功? 看了下代码,确认为BUG:
参与调试的代码:
#include <Array.au3>
Local $a=ProcessGetStats(1121111211,1)
MsgBox(32,"",$a)
If $a <> 0 Then
ConsoleWrite($a & @TAB & $a & @CRLF)
EndIf
代码中对参数的数量使用错误.当文本转换为数字后,未使用正确的转换好之后的数值.
我将报告给官方:
http://www.autoitscript.com/trac/autoit/ticket/2235
这里仍然有一个问题,数组在AU3中是无BOOL类型的.即使进程存在,你无法使用下方代码进行判断:
If $a Then
ConsoleWrite($a & @TAB & $a & @CRLF)
EndIf
临时解决办法:先判断进程是否存在.
蛋疼解决办法:MOV EAX,DWORD PTR SS: 修改为 MOV EAX,DWORD PTR SS: 将修正于新版本的AU3中
页:
[1]