这个小例子就是用来演示如何得到Windows桌面上处于活动状态的窗口的句柄的。
使用一个Timer控件就可以搞定。在本例中再通过GetWindowText函数来处理得到句柄后的操作。
1。新建一个标准VB6的EXE工程,加入Timer控件
2。API函数的声明
private Declare Function GetForegroundWindow Lib "user32" () as Long
private Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (byval hwnd as Long, _
byval lpString as string, byval cch as Long) as Long
3。在窗体的Load事件中加入代码:
Private Sub Form_Load()
Timer1.Interval = 100 '设置间隔时间
End Sub
4。在Timer控件中的Timer事件中加入代码:
Private Sub Timer1_Timer()
Static CurrentHwnd As Long
Dim ForegroundWindowHwnd As Long
Dim sText As String * 255
ForegroundWindowHwnd = GetForegroundWindow
If ForegroundWindowHwnd = CurrentHwnd Then Exit Sub
CurrentHwnd = ForegroundWindowHwnd
If CurrentHwnd <> hwnd Then
Caption = "ActiveWidow's Caption: " & Left$(sText, GetWindowText(CurrentHwnd, sText, 255))
Else
Caption = "ActiveWindow's Caption: Form1"
End If
End Sub
本程序在Win2000 + Vb6 中调试通过
该博客介绍了用VB6获取Windows桌面上活动窗口句柄的小例子。通过使用Timer控件和GetWindowText函数实现,详细说明了新建工程、API函数声明,以及在窗体Load事件和Timer控件Timer事件中添加代码的步骤,程序在Win2000 + Vb6中调试通过。
3151

被折叠的 条评论
为什么被折叠?



