|
本帖最后由 527104427 于 2024-5-26 12:45 编辑
这个问题能不能处理下:
disp 命令不加 -confirm 参数时,执行后也会有14秒延时,导致下一个命令不能立即执行。
比如以下命令:
disp w1600 h900
mess ok
要等disp完成后14秒,才会弹出ok窗口
实际测试win7和win10都是同样的问题。
我自己写了一段代码,用-confirm参数,然后模拟鼠标点击,就没有14秒延时的问题:
- set^ EnviMode=1
- set^ ForceLocal=1
- set bm_click=0x00F5
- set wm_close=0x0010
- //disp 的 bug:不加 -confirm 参数时,设置完会等待14秒;加 -confirm 参数时又无法静默执行。以下代码解决此bug,可以静默运行,设置完无等待。
- exec* -cmd::*1:CloseWindow -pid:MyPid -hide -err+ -incmd ret=*pecmd disp -confirm w1600 h900
- mess=. ok1
- _sub CloseWindow
- envi v0=
- find --forpid:%MyPid% --class:#32770 --wid*@ v0,
- forx *nl v0,v1,
- {
- team envi v2=| envi v3=| envi v4=| envi v5=| envi v6=| envi v7=
- mstr* * v2=<2>v1
- set @@Visible=%v2%:*0
- wait 1 //必须在此处设置延时,否则有一定几率设置失败
- set @@IsWindow=?%v2%:v3
- ifex $%v3%>0,
- {
- find --class:Button --wid*@%v2% v4,
- lpos* * ,v5=&K,1,v4 //还原(&R) //保留更改(&K)
- wait 1 //必须在此处设置延时,否则有一定几率设置失败
- ifex $%v5%>0,
- {
- read -*,%v5%,v6,v4
- mstr* * v7=<2>v6
- set @@pos=%v2%:::::::1
- set @@sendmsg=%v7%;%bm_click%;0;0 //模拟用户单击按钮。 此消息会导致该按钮接收 WM_LBUTTONDOWN 和 WM_LBUTTONUP 消息,以及按钮的父窗口接收 BN_CLICKED 通知代码。
- }!
- {
- set @@postmsg=%v2%;%wm_close%;0;0
- }
- }
- }
- _end
复制代码
所有测试均录制成视频:
https://527104427.lanzout.com/b01n2a92ti
密码:c7kd
|
|