对于一些经验不是很充分的编程人员来说,也许可能对VB.NET与VB之间的不同之处比较模糊。我们现在就以VB.NET使用FindWindow的方法介绍来详细对此进行一个解读。我们在实际代码编写中,窗口句柄仍然是32位,但是在VB.NET使用FindWindow中,Integer表示32位,Long表示64位。这是调用API函数时需要注意。下面是正确的函数声明和设定一个参数为空的例子:#t#
- Private Declare Auto Function
FindWindow Lib "user32" ( _ - ByVal lpClassName As String, _
- ByVal lpWindowName As String)
As Integer - Private Sub Button2_Click(ByVal
sender As System.Object, ByVal e
As System.EventArgs) Handles
Button2.Click - Dim hWnd As Integer
- hWnd = FindWindow(vbNullString,
"收件箱 - Outlook Express") - If hWnd Then
- MsgBox("找到Outlook Express窗口!")
- Else
- MsgBox("未找到Outlook Express窗口!")
- End If
- End Sub
VB.NET使用FindWindow是比较容易调用的,因为两个参数都是只读的,不会被API修改,所以在VB6和VB.NET中的差别只在于数据类型的不同。而对于GetSystemDirectory这样的函数就不同了,因为参数是可修改的,而在VB.NET中String是不可以修改的,所以必须借助于StringBuilder类才能调用。