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)
原文地址:https://www.cnblogs.com/Searchor/p/7504299.html