怎样得到已经打开的任何窗口的句柄?

luye 2000-05-29 01:16:00
各位高手好:
我正在做一个VB的程序. 该程序可以自动关闭桌面上的任何窗口. 现在, 我已经解决了关闭窗口的问题. 但是, 我不知道怎样才能得到任何窗口的句柄. 在API中, 有没有一个函数可以得到所有窗口的句柄?
...全文
116 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ring 2000-05-29
  • 打赏
  • 举报
回复
先用GetDeskTop函数获得桌面窗口的句柄
再用FindWindow函数枚举
TopHead 2000-05-29
  • 打赏
  • 举报
回复
我有一个例子,可以发给你,你收一下吧!
Spy++ Lite 2.4 Build 20080512 Spy++ Lite是一款强有力的编程辅助工具,对分析窗体结构有独到之处。可以以十六进制和十进制两种不同方式显示窗口句柄等所有数值。本软件还可以简单调节窗口的状态和形为,如是否可见,是否可用,最大化,激活等。除此以外,您还可以把它当作一个截图的小工具来用。:) 下面举两个例子来小试牛刀: 1、激活灰色按钮: 打开任一文件的属性窗口,它的右下角处“应用”按钮都是不可用的(灰色的)。拖动本软件的探测器指针选中该按钮。切换至“消息”标签页,勾选“窗口可用”。看到了吧?“应用”按钮被我们激活了。 2、监视IE上网记录: 用本软件的探测器指针选中IE的地址栏。看到它的窗口类名为Edit;切换至“窗口”标签页,点击“父窗口”标签,使父窗口成为当前窗口;切换到“类”标签页,看到其类名为ComboBox;再依照上步点击,将得到窗口类名依次是ComboBoxEx32、ReBarWindow32、WorkerW,直到最外层的IEFrame。此时再点击“子窗口列表”按钮,依次双击子窗口,看看能否找到地址栏Edit。窗体结构清楚了,我们就不难用FindWindowEx、SendMessage、GetClassName、GetWindowText等几个API函数来监视上网记录了。 升级日志: 2.2-2.4 增加功能: 1、更换内部控件,引用主题风格; 2、修正细节问题; 3、提供不同编程语言的开源版本。 2.1-2.2 增加功能: 1、去除对对话框控件的依赖; 2、修正进程ID的显示BUG。 2.0-2.1 增加功能: 1、可以直接选中不可用的窗口; 2、子窗口列表; 3、进入多级子窗口并可导出。 1.1-2.0 增加功能: 1、显示窗口ID、进程ID、程序文件路径; 2、窗口样式、扩展样式、类样式并列表给出; 3、消息功能,改变窗口的最大化、最小化、是否可见、是否可用等状态; 4、窗口截图。

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧