对外部窗口基本操作是win程序设计必学部分,下面介绍对窗口的获取,设置的一些基本操作
import win
import win.dlg.message
import process
//以Notepad为例子
process.executeWaitInput("Notepad")
/*窗口查找完整匹配{{*/
//查找窗口返回句柄,模糊查找使用winex.find
var $hwnd = win.find("Notepad")
//为配合看效果,用消息弹窗口来停留
var $msg = win.dlg.message($hwnd)
$msg.ok("窗口句柄:" tostring($hwnd,16))
//查找子窗口(控件)返回句柄,模糊查找使用winex.findex
var $handle = win.findEx($hwnd,0,"Edit")
$msg.ok("控件句柄:" tostring($handle,16))
/*}}*/
/*窗口状态检测{{*/
if win.isWindow($hwnd) $msg.ok("是有效窗口,用来检测是否窗口句柄")
if win.isIconic($hwnd) $msg.ok("最小化窗口状态")
if win.isZoomed($hwnd) $msg.ok("最大化窗口状态")
if win.isVisible($hwnd) $msg.ok("窗口可见")
if win.isEnable($hwnd) $msg.ok("窗口启用状态")
/*}}*/
/*窗口获取和设置{{*/
//窗口置顶,取消第二参数为false
win.setTopmost($hwnd)
//获取窗口大小和位置然后设置
var $x1,$y1,$x2,$y2 = win.getPos($hwnd,true) //true屏幕坐标
$msg.smile(string.join({$x1,$y1,$x2,$y2},","))
win.setPos($hwnd,$x1 100,100,500,600)
//隐藏窗口
win.show($hwnd,false)
$msg.frown("窗口不见了")
//设置窗口还原,最小化,最大化,隐藏
win.show($hwnd,9/*_SW_RESTORE*/) //还原窗口
$msg.smile("窗口回来了")
win.show($hwnd,6/*_SW_MINIMIZE*/) //窗口最小化
$msg.smile("窗口最小化了")
//通常我们认为的激活窗口就是这个,最小化也会还原
win.showForeground($hwnd)
$msg.smile("窗口被激活了")
//前置窗口并设置焦点
win.setForeground($hwnd)
$hwnd = win.getForeground() //返回激活窗口句柄
//设置焦点
win.setFocus($handle)
$handle = win.getFocus() //返回焦点所在窗口句柄
//设置窗口文本,是窗口就是标题,控件是文本
//外部窗口最好用 winex.getText 和 winex.setText
var $text = win.getText($hwnd)
$msg.great("窗口标题:" $text)
//这个只能改变自己创建的窗口文本,外部窗口用winex.setText
win.setText($hwnd,"我是新的窗口标题")
/*}}*/
//发送wm_close消息,关闭窗口
//win.close($hwnd)
————————————————
原文链接:https://blog.csdn.net/m0_60842374/article/details/120072934