--排列窗口
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)