| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 996 人关注过本帖
标题:List1.List 如何逐行提取?(已解决)
只看楼主 加入收藏
mayong123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-10-30
收藏
 问题点数:0 回复次数:3 
List1.List 如何逐行提取?(已解决)
提取了一个窗口里的所有子窗口的句柄到List1.List
如何逐行提取查询类名和窗口名
List1.List里的句柄为
8324244
3147294
2491942
2295300
3212656
13829148
3343960
13304938
13567238
18810170
3147148
2426490
9504076
18285814
12584044
7865454
1508794
9766116
2754046
10617936
16123074
11011358
11863168
9897282
14812284
12125360
1508798
9700454
2754016

代码为
Private Sub Command3_Click()
Dim M As String
Dim step As Integer


step = List1.ListCount '获取List1.List总行数

For step = 1 To step
 M = List1.List(step - 1)
      
   

Dim lpclassnameM As String
Dim BiaoTiM As String
lpclassnameM = Space(255)
GetClassName M, lpclassnameM, 255’获取句柄类名
List2.AddItem lpclassnameM
BiaoTiM = Space(256)
GetWindowText M, BiaoTiM, 256 ’获取窗口名
List3.AddItem BiaoTiM


Exit For

Next step
End Sub
只能提取第一个句柄的类名和窗口名,如何才能根据句柄提取所有句柄的类名和窗口名。。。谢谢各位帮忙看看


[ 本帖最后由 mayong123 于 2011-10-9 16:28 编辑 ]
搜索更多相关主题的帖子: 如何 
2011-10-06 11:10
mayong123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-10-30
收藏
得分:0 
改成这样就可以了,不过执行到一半红色字段提示“实时错误13,类型不匹配。。。”不知是啥问题
Private Sub Command3_Click()
Dim M As String
Dim step As Integer

Dim lpclassnameM As String
Dim BiaoTiM As String

step = List1.ListCount

For step = 1 To step

 M = List1.List(step)
      
 


lpclassnameM = Space(256)
GetClassName M, lpclassnameM, 256
List2.AddItem lpclassnameM
BiaoTiM = Space(256)
GetWindowText M, BiaoTiM, 256
List3.AddItem BiaoTiM



Next step
End Sub
2011-10-06 13:26
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
GetClassName clng(var( M)), lpclassnameM, 256
2011-10-07 00:52
mayong123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-10-30
收藏
得分:0 
已经解决,谢谢楼上版主,因为M有可能到最后一行出现空值,所以报错。加上判断就好了。。谢谢。。
还有GetClassName不能取得某些控件的名称,所以改用SendMessage取名称了。。谢谢了。。

'List2.Clear
List4.Clear
RichTextBox1.Text = ""
Dim M As String
Dim step As Integer

'Dim lpclassnameM As String

Dim Txt(64000) As Byte

step = List1.ListCount
Text4.Text = step
For step = 0 To step

 M = List1.List(step)
      
 



If M = "" Then
Text5.Text = List4.ListCount
'Text6.Text = List2.ListCount


Command3.Value = True

Else
'lpclassnameM = Space(10000)
'GetClassName M, lpclassnameM, 10000

SendMessage M, &HD, 64000, Txt(0)   '获得窗口标题(也可使用 API 函数:GetWindowText,但效果不佳)

RichTextBox1.SelText = vbCrLf & StrConv(Txt, vbUnicode)
'List2.AddItem M & "-" & lpclassnameM '获取类名
List4.AddItem M & "-" & StrConv(Txt, vbUnicode)
End If

Next step
Exit Sub
2011-10-09 16:32
快速回复:List1.List 如何逐行提取?(已解决)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021996 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved