annybaby 发表于 2012-8-29 15:00:27

processclose()无法正确设置返回值和@error值

本帖最后由 annybaby 于 2012-8-29 15:11 编辑

写一个批量关闭指定进程名的脚本时发现,以@error为停止判断条件,无法停止脚本,于是参看了帮助文档,发现程序并没有按帮助文档所描述的设置@error值,于是进行了一个小测试
分别测试一个存在可关闭,不存在,存在但无法关闭的三种情况
只有在第一种情况下正常:函数返回值为1,@error为0
其余的,进程不存在时,返回值正确,为0,@error也为0(此时不是应该有错误发生吗?)
   进程存在但无法关闭时,返回值为1,@error为0(而实际上该进程并没有被结束)


$process='notepad.exe'      ;分别测试一个存在可关闭,一个不存在,一个存在但无法关闭的进程
Local $ret = ProcessClose($process)
ConsoleWrite('返回值'&$ret&'错误码'&@error)

annybaby 发表于 2012-8-29 15:18:25

测试时,可以是:
第一种情况,正常打开一个txt文件,或者直接运行notepad.exe
第二种情况,关闭所有的打开的txt文档,确保进程中没有notepad.exe存在
第三种情况,用软件保护notepad.exe进程,然后再运行代码

各位坛友可自己设置测试方法!
另外有个帖子,http://www.autoitx.com/thread-32886-1-1.html
坛友也反映另外一个关于进程操作的函数ProcessGetStats()的问题

annybaby 发表于 2012-9-15 09:57:20

为什么这么多天每人说说呢?是我的问题还是bug?
页: [1]
查看完整版本: processclose()无法正确设置返回值和@error值