StrokePlus
--排列窗口
acGetAllWindows(0) local allwindows=sp_all_windows local ewinlist={} local count=1 for k,v in pairs(allwindows) do local name=acGetClassName(v,gsx,gsy) if name=="CabinetWClass" then ewinlist[count]=v count=count+1 end end function cp(v1,v2) local t1=acGetWindowTitle(v1, gsx, gsy) local t2=acGetWindowTitle(v2, gsx, gsy) return t1< t2 end table.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=2 local rowcount=math.ceil((count-1)/columncount) local windowheight=height/rowcount local windowwidth=width/columncount for 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}") end local AllWindows= sp_all_windows for 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 end end acDelay(1000) acSendKeys("+{F_5}") acSendKeys("^p") acSendKeys("{NUMPAD1}")
acShellExecute("open","d:\\foobar.bat","","",1)
acShellExecute("open","https://www.foobar.com","","",1)