vb.net遍历窗口标题 vb 遍历文件夹

vb 遍历窗口下所有控件里的文字(高分)

这个不容易做到啊

目前创新互联公司已为超过千家的企业提供了网站建设、域名、网站空间、网站改版维护、企业网站设计、莲湖网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

首先要看外部程序是什么编的,大致有以下几种情况:

1. 标签有句柄,是由 SetWindowText 实现的(其实从底层一点看,还是发送了 WM_SETTEXT 消息),

例如VC、Masm 32 的程序。这种情况好解决,GetWindowText 或 发送WM_GETTEXT消息就OK了;

2. TextOut 画上去的(例如 VB 就是这样的)。这种情况要 hook TextOut;

GetWindowText()或SendMessage()都无法取得vb程序的label的文字,因为vb的label没有handle, 但大家发现 KingSoft CIBA 可以取得vb的label值,这是因为 KingSoft CIBA 拦下了Win32API中的textOut函数

参考资料:

关于遍历VB.net窗体里面控件的问题

可以的,需要判断控件类型并做一下类型转换。

For Each c As Control In Me.Controls

If TypeOf(c) Is TextBox Then

Dim t As TextBox = CType(c ,TextBox)

'调用t的方法即可

End If

Next

VB怎么获取窗口标题

非常简单.

先用 GetForegroundWindow 来获取当前活动窗口的句柄,然后用 GetWindowText 来获得这个句柄的标题..就可以了,

我给你写了个代码 你运行看下就明白了..

在窗体上创建一个timer控件(用来随时检测活动窗口的标题),然后复制下面的代码 运行 就看到了...哥们,最好追加点分哦~~ o(∩_∩)o...~~

Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Declare Function GetForegroundWindow Lib "user32" () As Long

Private Sub Form_Load()

Timer1.Interval = 500

Timer1.Enabled = True

Me.Width = Screen.Width / 2

End Sub

Private Sub Timer1_Timer()

Dim hd As Long, tt As String

tt = Space(255)

hd = GetForegroundWindow

GetWindowText hd, tt, 256

Cls

Print "活动窗口标题是 " tt

End Sub

vb.net 历遍项目的窗体

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim myAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()

Dim TheTypes As Type() = myAssembly.GetTypes()

Dim myType As Type

For Each myType In TheTypes

If myType.BaseType.ToString = "System.Windows.Forms.Form" Then

ListBox1.Items.Add(myType.Name)

End If

Next

End Sub


当前标题:vb.net遍历窗口标题 vb 遍历文件夹
网页地址:http://azwzsj.com/article/hiiogo.html