永发信息网

vb 编程问题

答案:1  悬赏:80  手机版
解决时间 2021-04-29 15:21

我在写截获宽带连接窗口密码的程序,中途遇到点问题,下面是代码

窗口代码form1:


Private Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Form_Load()
Dim jb1 As String
jb1 = FindWindow("#32770", "连接 宽带连接")
If jb1 Then

    EnumChildWindows jb1, AddressOf enumwindowproc, 0 '这块是枚举子窗口句柄
   
End If
End Sub
模块代码:

Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Public Function enumwindowproc(ByVal hwnd As Long, ByVal lParam As Long) As Long
    Dim windowclass, b As String
   
    b = "Edit"
   
    windowclass = getwindowclass(hwnd)
   
    If windowclass = "Edit" Then        

  '写到这个if ,内部的代码不执行,但是宽带连接窗体上却是有两个edit控件

'如果把这个if语句去掉 直接写成:Form1.Text1.Text = Form1.Text1.Text & windowclass,那么是可以执行的。而且会输出中会有edit 这个字符串。郁闷求解。   
        
    Form1.Text1.Text = Form1.Text1.Text & windowclass
   
    End If
    enumwindowproc = True
End Function

Public Function getwindowclass(ByVal hwnd As Long) As String  '获取句柄对应的类
    Dim str As String
   
    str = Space(255)

    GetClassName hwnd, str, Len(str) + 1
   
    str = Trim(str)
   
    getwindowclass = str

End Function

 

最佳答案
getwindowclass(hwnd)可能应该改为GetClassName(hwnd)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么总是消除不了
新广裕汽车装饰地址在什么地方,想过去办事
什么品牌的笔记本电脑最好用而且价格便宜?
《海派甜心》的主题曲和歌手
求梦幻西游高等级赚钱方法
与多看书能开阔视野有关的名言警句
QQ 三国YY带菠菜学什么技能好
三个月的小孩着凉了怎么办?
怎么查车辆违章?
帮帮忙啊 、评论一下 、谢谢啦
有没有什么可以在网上看的,关于古代之类的小
沉着的布布种子
焦作市广阳建材有限公司地址在哪,我要去那里
我骗了他,我说给他分手他答应啦。事后说希望
宠物生病咋办?
推荐资讯
国际经济与贸易专业的就业前景如何?
我玩DNF选了个元素,现在已经28级,但是我把
PSP梦幻骑士好玩吗?
合成服饰
哪里买乔丹最好?
中国移动小纪华阳中心街指定专营店地址在什么
帮忙起几个好听的名字
巴乡石锅鱼地址在哪,我要去那里办事
打一巴掌给个三个糖吃会甜吗??
当她不接你电话不回信息时你要怎么办?
腾家庄地址在哪,我要去那里办事
为什么我有时候心善有时候心狠。也很自卑。不
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?