autohotkey 脚本求修改
一个窗口控制脚本,但是不能工作,希望高手帮忙修改程序返回如下:008: {030: {056: arry := Object()057: arry.Nub := 0 059: Return (11.78)060: {061: arry = : min("arry")062: Return (5.09)Press [F5] to refresh============================================源代码如下:;传递最小化的窗口个数,返回包含窗口ID的数组,自定义函数就在局部变量里开始了,数组变量:当前项目数。;(数组需求)本函数的数组,局部变量,不需要考虑全局,该数组包含个数类.;为了数组的生命周期(全局的,并且仅声明一次),故传入参数为数组。;(动作)按一次运行一遍min(arry){ ;得到当前窗口信息,用于判别和存储变量。 WinGet, active_id, ID, A msgbox 找到的窗口信息如下:%active_id% %ID% %A% ;debug ;处理桌面需求,不缩小桌面 if active_id = ahk_class Progman { return Cy ;返回数组 } ;按一次就缩小一次窗口 arry.Nub += 1 ;记录数组中的项目数,项目数+1 Nu := arry.Nub arry[Nu] :=%active_id% ; 把此行保存到数组中 WinMinimize, ahk_id %active_id% ;隐藏 msgbox %active_id%};此参数不对当前窗口操作,仅操作数组内窗口;(动作)按一次从数组内数组内取出一个ID,最大化ID窗口max(arry){;处理ID关闭,项目-1,直到 找到未关闭或项目为0:循环,知道找到存在id或Nub为0 ,未防止未知错误一直运行,设置循环次数为15loop 15{ Nu := arry.Nub ;从数组内取出ID active_id := arry[Nu] ;看是否关闭了 Process,Exist,%active_id% ;如果未关闭就跳出循环 if ErrorLevel > 0 break if Nub = 0 { return arry ;如果项目数为0,就返回不做了 Nub -= 1 ;关闭了就下一个 }} ;现在找到了数组中存在的进程 WinMaximize, ahk_id %active_id% ;最大化 A -= 1 ;下次读取的ID不能是这个了 return arry};现在开始声明参数变量arry := Object()arry.Nub := 0;现在开始调用F1::{arry =: min("arry")return}F2::{arry =: max("arry")return}