如何判断一个窗口中按钮是“yes”还是“ok”?
if(win_exists("提示", 2)==E_OK){
set_window ("提示", 5);
if(("Yes")==E_OK)--我想表达的意思是:如果窗口“提示”中的按钮是“yes”,那么就点击“yes”按钮。如果是“ok”按钮,那么就点击“ok按钮。请教大虾,这个判断条件该如何写呢?”
{
button_press ("Yes");
}
else
button_press ("OK");
} LZ用Bitmap checkpoint for object/window功能,插入检测点。
if(obj_check_bitmap("yes","imp1",3)==E_OK)
{
#spy一下窗口属性
set_window("")
button_press("yes");
}
else
{
set_window("")
button_press("OK");
}
LZ试一下哈,我也是新手,呵呵。
[ 本帖最后由 cybercop 于 2006-11-30 13:45 编辑 ] 可能我的意思没有表达清楚,请大家看一下图片
yes图片在Ok图片之前。二者的窗口属性是一样的,都是“提示”窗口。
yes图片根据条件有时会弹出,有时不会弹出。Ok图片肯定会弹出,即无论前面是否有弹出yes图片,ok都会出来。
我所想要的是,当弹出yes的窗口时,就会点击yes按钮。当弹出Ok窗口时,就会点击Ok按钮。
楼上的二位大虾提出的办法,我试了一下,但是用检查点的方法if(obj_check_bitmap("yes","imp1",3)==E_OK)一定要获得"yes"按钮的窗口才可以。而yes按钮是不一定出现的。如果出现了OK按钮,那么这个if的语句就行不通了。
我试了用取得按钮上文字的方法,obj_get_text("Yes",v_button);用printf(v_button)是可以打印出取到的文字。但应用到if(obj_get_text("Yes", v_button)==Yes)的时候,v_button却会取到空值。也根本无法执行这个判断语句。且也是要获得"yes"按钮的窗口才可以。
第三中的方式,按钮的label属性改成通配符,yes按钮的属性是
{
class: push_button,
label: Yes
}
Ok按钮的属性是:没有label
{
class: push_button
}
两个按钮的属性不一样,不能改为通配符呀
[ 本帖最后由 queen 于 2006-12-6 12:36 编辑 ] 多谢大虾的提醒,捕捉了提示窗口的文字,终于成功了。但我以下的奇怪现象,wr对于字符不认识,对于中文会认识?请看如下的脚本,第二个脚本是可以运行的。即if判断语句可以执行。
win_get_text("提示", text1, 59, 91, 146, 120); #Yes
if(win_exists("提示", 2)==E_OK)
{
set_window ("提示", 5);
if(text1=="Yes")--匹配不到
{
button_press ("Yes");
}
else
{
set_window ("提示", 5);
button_press ("OK");
}
}
win_get_text("提示", text, 128, 41, 188, 64); # 未清洁房
if(win_exists("提示", 2)==E_OK)
{
set_window ("提示", 5);
if(text=="未清洁房")--可以匹配成功
{
button_press ("Yes");
}
else
{
set_window ("提示", 5);
button_press ("OK");
}
}
[ 本帖最后由 queen 于 2006-11-30 18:06 编辑 ] 我用printf();查看捕捉到的“text1”的值,是正确的,是等于"Yes"。
但“text1”运用到 if(text1=="Yes")语句中,就认不到,跳到else去了。 调试了脚本,text1值一直没有变,都是text1:"Yes" 可以了!非常感谢解开了我的疑惑。 sdlkfj3
用win_get_text("提示", text1, 59, 91, 146, 120); #Yes取到的" yes"前面确实有个空格!
我有试过将观察点取到的值text1:"Yes"或者pintf()打印出来的值直接复制到if语句里面也不行。看来要手工在if语句yes前面里输入一个空格才行。 如果使用button_get_info可能会好点! button_get_info ( button, property, out_value );
也必须得到button的逻辑名或物理描述,在我录制的应用程序中,button yes 或者button OK
是不一定哪个先出现的。 这样button的值就不知道要填yes还是ok。
页:
[1]