找回密码
 加入
搜索
查看: 2211|回复: 7

[系统综合] 如何获取任务栏上的窗口handle?

  [复制链接]
发表于 2012-4-9 15:04:37 | 显示全部楼层 |阅读模式
如何获取任务栏上的窗口handle?
发表于 2012-4-9 15:20:51 | 显示全部楼层
_winapi_enumchildwindows(wingethandle('shell_traywnd'))
 楼主| 发表于 2012-4-10 09:59:33 | 显示全部楼层
$Data = _winapi_enumchildwindows(wingethandle("[class:Shell_TrayWnd]"))
_ArrayDisplay($Data,'Debug~~~')
列出来的是控件信息,不是任务栏上的任务窗口信息……
发表于 2012-4-10 11:13:01 | 显示全部楼层
回复 3# zb7512511
任务窗口指的是什么?
发表于 2012-4-10 12:39:10 | 显示全部楼层
 楼主| 发表于 2012-4-11 08:33:44 | 显示全部楼层
比如开几个记事本,都最小化,在任务栏里就有几个“未命名”的记事本的按钮。
发表于 2012-4-11 09:16:43 | 显示全部楼层
我也想知道啊之前有这些UDF的现在没了
发表于 2012-4-11 10:55:12 | 显示全部楼层
楼主是不是要枚举?
#AutoIt3Wrapper_Au3Check_Parameters= -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <WinAPI.au3>
Opt('MustDeclareVars', 1)

_Main()

Func _Main()
    Local $aWindows, $i, $text
    $aWindows = _WinAPI_EnumWindows()
    For $i = 1 To $aWindows[0][0]
        $text = "窗口句柄: " & $aWindows[$i][0] & @LF
        $text &= "窗口类名: " & $aWindows[$i][1] & @LF
        $text &= "窗口标题: " & WinGetTitle($aWindows[$i][0]) & @LF
        $text &= "窗口文本: " & WinGetText($aWindows[$i][0]) & @LF
        $text &= "窗口进程: " & WinGetProcess($aWindows[$i][0])
        MsgBox(0, "项目 " & $i & " 共计 " & $aWindows[0][0], $text)
    Next
EndFunc   ;==>_Main

评分

参与人数 1金钱 +10 收起 理由
chamlien + 10 很棒的见解,留个脚印

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-20 15:30 , Processed in 0.077609 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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