找回密码
 加入
搜索
查看: 8550|回复: 42

如何用句柄来激活窗口

[复制链接]
发表于 2009-9-30 15:20:40 | 显示全部楼层 |阅读模式
本帖最后由 lxwlxwayy 于 2009-10-1 09:59 编辑

如何用句柄来激活窗口?请教
 楼主| 发表于 2009-9-30 17:03:57 | 显示全部楼层
怎么没人回啊
发表于 2009-9-30 18:24:29 | 显示全部楼层
能用 '窗口标题' 的地方 就能用 句柄来代替
 楼主| 发表于 2009-9-30 19:36:14 | 显示全部楼层
真的假的,我试了一下好像不行
 楼主| 发表于 2009-9-30 19:46:46 | 显示全部楼层
最好给个代码大侠
 楼主| 发表于 2009-9-30 21:12:18 | 显示全部楼层
winActivate("这里用句柄不行啊","")
 楼主| 发表于 2009-9-30 21:17:40 | 显示全部楼层
有没有谁知道API函数
发表于 2009-9-30 21:19:53 | 显示全部楼层

Run('explorer.exe')
WinWait('[CLASS:CabinetWClass]')
$hWindows = WinGetHandle('[CLASS:CabinetWClass]')
For $i = 1 To 5
        WinSetState($hWindows, '', @SW_HIDE)
        Sleep(500)
        WinSetState($hWindows, '', @SW_SHOW)
Next

For $i = 255 To 1 Step -1
        WinSetTrans($hWindows, '', $i)
        Sleep(1)
Next

For $i = 1 To 255
        WinSetTrans($hWindows, '', $i)
        Sleep(1)
Next
 楼主| 发表于 2009-9-30 21:26:56 | 显示全部楼层
谢谢你的代码,我先试试
 楼主| 发表于 2009-9-30 21:29:30 | 显示全部楼层
你这代码好像复杂了点有没有简单一点的像这样的通过句柄关掉窗口#include <WinAPI.au3>

_WinAPI_PostMessage(句柄, 0x0010, 0, 0)
 楼主| 发表于 2009-9-30 21:30:42 | 显示全部楼层
可是我不知道激活的代码
发表于 2009-9-30 22:01:01 | 显示全部楼层
测试是可以的,例子
Run('explorer.exe')
WinWait('我的文档')
$a = WinGetHandle('我的文档')
Msgbox(0, '句柄', $a)
WinSetState('我的文档', '', @SW_MINIMIZE)
Sleep(3000)
WinActivate($a)
关键是你的是否为窗口句柄
 楼主| 发表于 2009-9-30 22:10:40 | 显示全部楼层
WinSetState这个函数试过了,还是不能用句柄
 楼主| 发表于 2009-9-30 22:16:19 | 显示全部楼层
忘了一个问题,我的句柄是在文件中获取的
 楼主| 发表于 2009-9-30 22:18:34 | 显示全部楼层
由于某些原因,我的句柄只能先保存在文件中,再从文件中获取
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

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

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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