赞 | 2 |
VIP | 143 |
好人卡 | 1 |
积分 | 1 |
经验 | 216792 |
最后登录 | 2019-10-10 |
在线时间 | 24 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 61
- 在线时间
- 24 小时
- 注册时间
- 2008-8-5
- 帖子
- 1924
|
你这样获得窗口,任何干涉都会出现意外的…而且你的while既然写成顺序搜索了…那还不如将while写成if(激活的窗口)的ID是指定的进程ID?如果不是return MessageBox(0,"can't find the window","",MB_OK)算了,否则 ...
碧绿de奶茶 发表于 2009-9-1 12:19
会有干涉是真的,GetWindow 可能导致死循环,最好的办法是用 EnumWindows,但这个函数涉及到回调函数,所以得另外写个 DLL,比较麻烦,所以干脆直接用 GetWindow 了……大家要是不嫌又在工程里放一个 DLL 麻烦我倒是可以写一个
至于从开头开始搜索,给 GetWindow 的第二个参数传递的 0 没看到么?
GetForeground 只是随便获取一个顶级窗口,由于第二个参数是 0, GetWindow 会获取到在 Z 次序中同为顶级窗口的最上层窗口,然后从这个窗口开始枚举 =v=
至于线程比较进程,Orz,服了,还不至于犯这种错误,随便测试一下也会发现问题啊……我还以为你的观点是“判断进程比较保险” =v=
至于我修改过什么的,自己看看编辑帖子的时间吧…… |
|