--排列窗口 acGetAllWindows(0)local allwindows=sp_all_windowslocal ewinlist={}local count=1for k,v in pairs(allwindows) do local name=acGetClassName(v,gsx,gsy) if name=="CabinetWClass" then ewinlist[count]=v count=count+1 endendfunction cp(v1,v2) local t1=acGetWindowTitle(v1, gsx, gsy) local t2=acGetWindowTitle(v2, gsx, gsy) return t1< t2endtable.sort(ewinlist,cp)local shandle=acGetMonitorFromPoint(gsx,gsy)local leftx=acGetMonitorLeft(shandle,1)local rightx=acGetMonitorRight(shandle,1)local topy=acGetMonitorTop(shandle,1)local bottomy=acGetMonitorBottom(shandle,1)local height=math.abs(topy-bottomy)local width=math.abs(leftx-rightx)local columncount=2local rowcount=math.ceil((count-1)/columncount)local windowheight=height/rowcountlocal windowwidth=width/columncountfor i=1,count-1 do local v= ewinlist[i] acActivateWindow(v,gsx,gsy,0) acRestoreWindow(v,gsx,gsy) acSetWindowSize(v,gsx,gsy,windowwidth,windowheight) local c=i%columncount if c==0 then c= columncount end local r=math.ceil(i/columncount) acMoveWindow(v,gsx,gsy,(c-1)*windowwidth,(r-1)*windowheight)end
local targetwindow= acFindWindow("classname",nil)if targetwindow then acActivateWindow(targetwindow,gsx,gsy,0) acMaximizeWindow(targetwindow,gsx,gsy) acSendKeys("+{F_5}")endlocal AllWindows= sp_all_windowsfor k,v in pairs(AllWindows) do local classname= acGetClassName(v,gsx,gsy) if classname=="whatyouwant" then local windowtitle=acGetWindowTitle(v,gsx,gsy) local target="containthis" if string.find(windowtitle,target ) then acMinimizeWindow(v,gsx,gsy) end endendacDelay(1000)acSendKeys("+{F_5}")acSendKeys("^p")acSendKeys("{NUMPAD1}") acShellExecute("open","d:\\foobar.bat","","",1) acShellExecute("open","https://www.foobar.com","","",1)