pailfj 发表于 2008-10-31 09:16:58

怎样根据PID激活指定的窗口?

两个窗口标题一样,内容无法获取,用winactivate无法指定激活其中一个窗口,而AU3好像又不能根据PID激活指定窗口,有什么办法吗?

[ 本帖最后由 pailfj 于 2008-11-11 12:57 编辑 ]

liongodmien 发表于 2008-10-31 09:27:10

可以用到的函数:

WinGetState
--------------------------------------------------------------------------------

获取指定窗口的状态。


WinGetState ( "窗口标题" [, "窗口文本"] )




WinGetProcess
--------------------------------------------------------------------------------

获取指定窗口的相关进程ID(PID)。


WinGetProcess ( "窗口标题" [, "窗口文本"] )



WinGetHandle
--------------------------------------------------------------------------------

获取指定窗口的内部句柄。


WinGetHandle ( "窗口标题" [, "窗口文本"] )

pailfj 发表于 2008-10-31 13:05:13

我知道怎样获取PID,可是怎样激活它?

liongodmien 发表于 2008-11-1 10:09:04

原帖由 pailfj 于 2008-10-31 13:05 发表 http://www.autoitx.com/images/common/back.gif
我知道怎样获取PID,可是怎样激活它?
取窗口对应标题的PID,比对你设定的PID,符合则激活

pailfj 发表于 2008-11-3 16:19:47

原帖由 liongodmien 于 2008-11-1 10:09 发表 http://www.autoitx.com/images/common/back.gif

取窗口对应标题的PID,比对你设定的PID,符合则激活

在2个相同标题窗口情况下,winactivate只能打开最近激活的窗口,所以即使我能取到对应标题的PID,激活的也是同一个窗口,也就是最近一次激活过的窗口

yellow881 发表于 2008-11-8 17:46:53

我也很想知道,希望楼上的哪个中级会员说得再详细一点

liongodmien 发表于 2008-11-8 22:13:26

既然会取窗口的PID了,那就:
1、在取到PID后比对你想激活的PID,如果相同设置激活模式4(或干脆把其标题修改为一个新的标题),
2、如果不同暂时把获取的窗口标题修改成一个临时标题,再取下一个...取到后用1的办法处理一下,
3、如果想的话,把修改成临时标题的窗口恢复成原来的

pailfj 发表于 2008-11-8 23:21:10

我试过改标题,但这个程序窗口标题一会儿后就会自动又改回去,所以失败了

liongodmien 发表于 2008-11-8 23:26:10

原帖由 pailfj 于 2008-11-8 23:21 发表 http://www.autoitx.com/images/common/back.gif
我试过改标题,但这个程序窗口标题一会儿后就会自动又改回去,所以失败了
用模式4,用窗口句柄操作!

pailfj 发表于 2008-11-10 11:30:58

请教下,模式4是什么?能给个例子吗?

liongodmien 发表于 2008-11-10 14:58:24

原帖由 pailfj 于 2008-11-10 11:30 发表 http://www.autoitx.com/images/common/back.gif
请教下,模式4是什么?能给个例子吗?
看帮助那有的,模式4能用已经获得的窗口句柄进行相应的高级窗口制作.

juyz 发表于 2008-11-10 18:14:18

原帖由 pailfj 于 2008-11-10 11:30 发表 http://www.autoitx.com/images/common/back.gif
请教下,模式4是什么?能给个例子吗?
Opt("WinTitleMatchMode", 2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase

pailfj 发表于 2008-11-11 12:04:04

谢谢楼上2位,尤其是LION解答了好几次,解决了我一个难题

奥斯丁 发表于 2009-8-5 09:33:58

谢谢楼上2位

芳廷升 发表于 2009-8-6 02:56:21

支持楼主 我顶顶顶。

支持楼主我顶顶顶。是哈哈
















........................................................................................................
武林外传外挂      http://www.zixzi.cn/html/youxijingmeijietu/2009/0519/67.html
诛仙外挂             http://www.riwori.cn/html/xinshouyouxizhinan/2009/0722/91.html
页: [1] 2
查看完整版本: 怎样根据PID激活指定的窗口?