搜索
查看: 1207|回复: 1

请教,winex.waitVisible 参数中的进程id为什么在查询对话框时失效?

[复制链接]

7

主题

14

帖子

99

积分

一级会员

Rank: 2

积分
99
发表于 2018-3-15 12:22:36 | 显示全部楼层 |阅读模式
主程序代码如下:
  1. import win.ui;
  2. import process;
  3. import winex;
  4. /*DSG{{*/
  5. mainForm = win.form(text="aardio form";right=399;bottom=499)
  6. mainForm.add()
  7. /*}}*/

  8. mainForm.enableDpiScaling();
  9. mainForm.show();

  10. prcs = process("测试专用.exe")
  11. //sleep(4000);//如果加上延时,后面的pid会等于prcs.id;

  12. hwnd,ctrl,xqid,pid = winex.waitVisible("相同的标题",,"\#32770",,,prcs.id);
  13. mainForm.msgbox(pid,prcs.id)

  14. return win.loopMessage();
复制代码


外部程序代码如下:

  1. import win.ui;
  2. /*DSG{{*/
  3. var winform = win.form(text="相同的标题";right=228;bottom=217;parent=...)
  4. winform.add()
  5. /*}}*/

  6. winform.enableDpiScaling();
  7. winform.show();

  8. var tmId = winform.addtimer(
  9.         3000,
  10.         function(hwnd,msg,id,tick){
  11.                 winform.msgbox("Hello,id")
  12.         }
  13. )


  14. win.loopMessage();
  15. return winform;
复制代码


先将外部程序编译成一个EXE文件,然后先运行这个文件。

之后,再运行主程序。会发现 pid并不等于prcs.id。 pid是首先打开那个程序的进程ID。

但是,如果在前面加上延时,pid又是prcs.id。

请问,这是怎么回事啊?要怎么理解这个参数?
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2018-3-15 14:16:10 | 显示全部楼层
原来需要指定窗口上控件的匹配参数(子窗口),才能指定进程ID.
现在已经取消这个限制。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-10-23 09:30 , Processed in 0.062500 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表