找回密码
 加入
搜索
查看: 5654|回复: 10

[系统综合] 『已解决』请教API 的EnumChildWindows和 sendMessage 函数 谢谢版主

  [复制链接]
发表于 2011-1-1 12:07:23 | 显示全部楼层 |阅读模式
本帖最后由 skywhy 于 2011-1-2 12:02 编辑

我想请问下 在知道窗口句柄的情况下怎么样用  sendMessage 来发送按钮 。
比如说 我在某个窗口 按下"M"键 ,不要问我为什么不用sendkey 之类的函数,因为该窗口无法使用该函数。我在论坛和百度都敲咯一天都没有找到答案。论坛倒是有个帖子,用咯sendMessage 函数。但是我还是不太明白,这个函数的参数应该怎么用。
还有EnumChildWindows函数中帮助手册中根本就没有这个函数。但是在winapi.au3的头文件里面但是看到咯EnumChildWindows函数的身影,但是不知道怎么调用这个函数。我在官方也搜索咯下,由于英文水平有限。也没有看到什么有价值的信息。希望那位高手,帮忙解答一下。谢谢。。
Func __WinAPI_EnumWindowsChild($hWnd, $fVisible = True)
        $hWnd = _WinAPI_GetWindow($hWnd, $__WINAPICONSTANT_GW_CHILD)
        While $hWnd <> 0
                If (Not $fVisible) Or _WinAPI_IsWindowVisible($hWnd) Then
                        __WinAPI_EnumWindowsChild($hWnd, $fVisible)
                        __WinAPI_EnumWindowsAdd($hWnd)
                EndIf
                $hWnd = _WinAPI_GetWindow($hWnd, $__WINAPICONSTANT_GW_HWNDNEXT)
        WEnd
EndFunc 
发表于 2011-1-1 13:33:30 | 显示全部楼层
sendMessage是需要句柄的.
_WinAPI_EnumWindows的第一个参数是窗口句柄,第二个参数为可选内容,默认为true.其值为布尔类型.
为true时,表示为窗口可见,返之为不可见
 楼主| 发表于 2011-1-1 13:41:27 | 显示全部楼层
我说的不是  _WinAPI_EnumWindows函数  我说的是  __WinAPI_EnumWindowsChild 函数。
_WinAPI_EnumWindows函数我已经成功的调用咯。不过还是谢谢版主的回帖。
发表于 2011-1-1 13:46:35 | 显示全部楼层
EnumChildWindows吧?
哪里来的_WinAPI_EnumWindowsChild?
上代码看看.
 楼主| 发表于 2011-1-1 13:49:56 | 显示全部楼层
在帮助手册里面是看不到EnumChildWindows函数  但是在winapi.au3的头文件里面但是看到咯EnumChildWindows函数的身影,
Func __WinAPI_EnumWindowsChild($hWnd, $fVisible = True)

        $hWnd = _WinAPI_GetWindow($hWnd, $__WINAPICONSTANT_GW_CHILD)

        While $hWnd <> 0

                If (Not $fVisible) Or _WinAPI_IsWindowVisible($hWnd) Then

                        __WinAPI_EnumWindowsChild($hWnd, $fVisible)

                        __WinAPI_EnumWindowsAdd($hWnd)

                EndIf

                $hWnd = _WinAPI_GetWindow($hWnd, $__WINAPICONSTANT_GW_HWNDNEXT)

        WEnd

EndFunc 
这段代码就能够看到EnumChildWindows这个函数的身影 ,我就是想知道怎么用autoit来实现。API的EnumChildWindows函数的功能
发表于 2011-1-1 13:55:24 | 显示全部楼层
我晕,你贴的是EnumWindowsChild
 楼主| 发表于 2011-1-1 13:57:15 | 显示全部楼层
呵呵 不好  意思  受winapi的头文件  影响  就这么写咯。···
 楼主| 发表于 2011-1-1 13:58:06 | 显示全部楼层
autoit能不能实现EnumChildWindows这个函数呢?
发表于 2011-1-1 13:58:34 | 显示全部楼层
看了一下WinAPIEx,用法跟上面的一样,不过第二个参数是int,为1或0
 楼主| 发表于 2011-1-1 14:03:45 | 显示全部楼层
_WinAPI_EnumChildWindows函数的头文件不是<WinAPI.au3>吗,为什么我使用该函数提示我函数为声明。真的不好意思打扰你咯,版主。
发表于 2011-1-1 14:05:06 | 显示全部楼层
WinAPIEx
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-5 11:49 , Processed in 0.076604 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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