找回密码
 加入
搜索
楼主: lxwlxwayy

如何用句柄来激活窗口

[复制链接]
发表于 2009-9-30 22:38:22 | 显示全部楼层
可以肯定是句柄的获取问题,你可以Msgbox看看
发表于 2009-9-30 22:40:15 | 显示全部楼层
测试是可以的,例子Run('explorer.exe')
WinWait('我的文档')
$a = WinGetHandle('我的文档')
Msgbox(0, '句柄', $a)
WinSetState('我的文档', '', @SW_MINIMIZE)
Sleep(3000)
WinActivate($a)关键是你的是否为 ...
afan 发表于 2009-9-30 22:01

我之所以没用 '我的文档' 是因为我发现 每个系统不一样 哈哈

至于楼主的问题  还是不要急着往下学了 先找到学习的方法吧
 楼主| 发表于 2009-9-30 22:45:07 | 显示全部楼层
WinSetState(窗口句柄, '', @SW_MINIMIZE)
 楼主| 发表于 2009-9-30 22:46:53 | 显示全部楼层
winsetstate用标题是可以的,但用句柄就是不行,激活不了,也还原不了
 楼主| 发表于 2009-9-30 22:49:08 | 显示全部楼层
句柄获取应该没问题,我是直接在代码中输入句柄的来测试
发表于 2009-9-30 22:55:55 | 显示全部楼层
句柄每次打开都不同的
 楼主| 发表于 2009-9-30 22:58:45 | 显示全部楼层
这我知道,我是在激活窗口并没有关掉那个窗口
 楼主| 发表于 2009-9-30 23:02:55 | 显示全部楼层
楼上的你知不知道api有没有激活窗口的函数,如果知道给个用法的代码谢谢
发表于 2009-9-30 23:03:28 | 显示全部楼层
winsetstate用标题是可以的,但用句柄就是不行,激活不了,也还原不了
lxwlxwayy 发表于 2009-9-30 22:46

你应该仔细看看 帮助的 '窗口标题与文本 (高级)' 部分
 楼主| 发表于 2009-9-30 23:05:27 | 显示全部楼层
看过了,那鸟模式也试改了好几种都是不行
发表于 2009-9-30 23:06:40 | 显示全部楼层
我之所以没用 '我的文档' 是因为我发现 每个系统不一样 哈哈

至于楼主的问题  还是不要急着往下学了 先找到学习的方法吧
sxd 发表于 2009-9-30 22:40


倒是没想那么多,我的文档也只是个例子而已,呵呵
我也觉得似乎LZ的方法不对。

LZ可以用可测试的代码来解决此问题
 楼主| 发表于 2009-9-30 23:16:26 | 显示全部楼层
其它的方法我是直接去测试那个函数,函数都不支持,那不用说整个代码了.
我希望有api的激活函数,可是那帮助文档中api函数全是英文,看不懂,也不知道哪个函数是激活函数
发表于 2009-9-30 23:56:20 | 显示全部楼层
不是api的问题  首先 我的例子你能有用么?

看到窗口闪 或者 淡入淡出了么

如果看到 你能看到我是用句柄操作么

你说句柄你是通过其他方法得到的 那你能不能转换下 尝试用au3去获取?

换换思路
发表于 2009-10-1 00:15:21 | 显示全部楼层
本帖最后由 netegg 于 2009-10-1 00:17 编辑

_WinAPI_EnumWindows这要是想用api的话,看看这个,不过既然有现成封装好的,为什么一定要走api这条路,这个函数也只是枚举,里面还要加参数才能获取你自己想要的窗体
激活的话,用enablewindow试试看
 楼主| 发表于 2009-10-1 00:16:44 | 显示全部楼层
首先你的代码中使用WinGetHandle来获取句柄需要窗口标题,如果我能用窗口标题那我何必要用句柄来激活呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-19 13:44 , Processed in 0.070330 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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