win, winex库

admin2020-12-16  2.5K+

 win, winex库
match(.(句柄,文本,类名,ID) = 指定一个窗口句柄,检测是否符合给定参数\n所有参数可选,类名与文本支持模式表达式
find(.(类名模式串,标题模式串,进程ID,线程ID)=查找顶层窗口,所有参数都是可选参数\n返回值为:句柄,线程ID,进程ID
findMainWnd(.(类名模式串,标题模式串,进程ID,线程ID) = 查找独立不属于其他窗口所有的顶层窗口所有参数都是可选参数\n返回值为:句柄,线程ID,进程ID
findEx(.(父窗口句柄,第几个匹配,类名模式串 ,标题模式串, 控件ID )=查找子窗口,除父窗口句柄外所有参数可选\n返回值为句柄
findExists(.(父窗口标题,控件文本,父窗口类名,控件类名,控件ID,进程ID,第几个匹配) = 查找包含指定控件窗口的父窗口,所有参数可选\n返回值为:窗口句柄,控件句柄,线程ID,进程ID
findActivate(.(父窗口标题,控件文本,父窗口类名,控件类名,控件ID,进程ID,第几个匹配) = 调用winex.findExists查找并激活包含指定控件窗口的父窗口,所有参数可选\n返回值为:窗口句柄,控件句柄,线程ID,进程ID

winex.attach(hwnd) //附加到“外部”线程窗口并共享输入状态,注意该函数会重置键盘状态。返回值为是否成功附加
winex.attach(hwnd,false) //解除共享输入状态。返回值为是否成功解除
winex.sendString(文本, 窗口句柄=前台窗口) //发送@1给@2,\r\n表示换行
winex.say(文本, 窗口句柄=前台窗口) //发送@1给@2,\n表示换行
winex.say2(文本,窗口句柄=前台窗口) //发送@1给@2,\n表示换行
winex.sayIme(文本,窗口句柄=前台窗口) //发送@1给@2,\n表示换行
hwnd,线程ID,进程ID = winex.find( 类名,标题,进程ID,线程ID ) //查找窗口
winex.key.combine(hedit,"CTRL","s") //在hedit窗口中按下Ctrl+S,需import winex.key
winex.key.click(hedit,"ENTER" ) //在hedit窗口中按下Enter键,需import winex.key
winex.key.altClick(hedit,"F" ) //在hedit窗口中按下Alt+F键,需import winex.key

win.isChild(.(父窗口句柄,子窗口句柄) //判断@2是否是@1的子窗口或隶属子窗口。返回1/0
win.isVisible(hwnd) //判断窗口是否可见,可通过win.show()改变。返回true/false
win.isWindow(hwnd) //判断是否有效窗口。返回true/false
win.isIconic(hwnd) //判断窗口是否最小化为任务栏图标。返回true/false
win.isZoomed(hwnd) //判断窗口是否最大化。返回true/false
win.isEnable(__/*输入窗口句柄*/) = 判断窗口是否启用状态
win.show(hwnd,_SW_...) //显示窗口,任务栏中出现,并不是显示到最前面,@2是以_SW_为前缀的可选显示参数,参见windows编程SW_
win.show(hwnd,false) //隐藏窗口,任务栏中消失
win.close(hwnd) //关闭窗口\n关闭外部进程窗口请使用winex.close()替代
win.enable(__/*输入窗口句柄*/,true) = 启用窗口
win.enable(__/*输入窗口句柄*/,false) = 禁用窗口
win.setTop(__/*输入窗口句柄*/)=前置窗口到当前线程Z序顶部\n顶层窗口或者设置了 _WS_CLIPSIBLINGS 重叠裁剪样式的窗口向前移动\n子窗口会向后面移动.
win.getForeground()=获取前台窗口句柄
win.getActive()=获取当前线程激活窗口句柄,如果要获取全局激活窗口请使用win.getForeground()
win.setActive(hwnd) //设置激活窗口(激活窗口是什么?)
win.getFocus() //获取输入焦点所在窗口句柄
win.setFocus(hwnd) //设置输入焦点,只用于当前线程
win.getDesktop() //获取桌面句柄
win.setTopmost(hwnd) //置顶窗口(不是win.setForeground())
win.setTopmost(hwnd,false) //取消置顶窗口
win.setForeground(__/*输入窗口句柄*/) //前置窗口并获取输入焦点(把窗口显示在屏幕最前面,最小化窗口自动还原+获取焦点),\n当前程序是背景窗口时,win7以上系统令在任务栏闪烁,
win.showForeground(.(窗口句柄,x,y,cx,cy) //把窗口显示在屏幕最前面,最小化窗口自动还原\n类似setForeground但不会改变输入焦点,\n除句柄外,其他参数为可选参数
win.find(.(类名,标题) //查找顶层窗口,参数都是可选参数。返回句柄
win.findEx(.(父窗口句柄,上一个窗口句柄,类名,标题) //查找子窗口,除父窗口句柄以外,其他参数都是可选参数 
win.setCapture(.(窗口句柄) = 开始捕获鼠标消息,返回上次调用该函数的窗口句柄
win.releaseCapture() = 释放鼠标捕获,成功返回true
win.registerClassEx(.("类名",类参数表,"源类名") =  并注册新类名\n如果参数@3指定了源类名则复制该类\n可选用参数@2指定 WNDCLASSEX的部份字段值
win.registerFormClass("类名",类参数表,"源类名") = @.registerFormClass("类名",{\n    style = _CS___\n} );

win.delay(1000* 5) //毫秒延时,区别sleep()使用于无窗口、无消息循环时
win.getClass(hwnd) //返回窗口类名
win.getId(hwnd) //返回控件ID
win.getText(hwnd, 缓冲区长度=文本长度) //返回控件文本内容,@2可选
win.setText(hwnd,文本,缓冲区长度=文本长度) //设置控件文本,外部进程窗口使用winex.setText()

win.flash(hwnd,次数,时间间隔,选项) //闪烁窗口
win.msgbox(文本,标题,样式,所有者hwnd) //弹出对话框
win.msgboxErr(文本,标题,所有者hwnd) //弹出错误对话框
win.msgboxTimeout(文本,标题,超时毫秒值,样式,所有者hwnd) //弹出对话框,超时自动关闭
win.msgboxTest(文本,标题,所有者hwnd) //返回布尔值表示用户是否按了“确定”按钮
win.getScreen() //返回屏幕宽度、高度
win.center(hwnd,目标窗口句柄) //居中窗口,并调整以保证显示在可见范围内,目标窗口句柄如果为空则取父窗口或所有者窗口,为0表示桌面

hwndroot = win.getRoot() //获取最顶层父窗口句柄
win.enable(hwnd, 1) //启用窗口,使可以操作
win.enable(hwnd, 0) //禁用窗口,使不能操作
转载请注明原文地址: https://www.aardio.net/read-83.html
最新回复(0)
aardio问答
aardio编程语言