〥羽〥 發表於 2008-12-25 02:59:07

[轉貼]在VB2005使用 FindWindow 查找視窗和獲得控制碼

windows視窗控制碼是32位元元,在VB.NET中,Integer表示32位,Long表示64位。這是調用API函數時需要注意的地方。下面是正確的函式宣告和設定一個參數為空的例子:
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
FindWindow函數是比較容易調用的,因為兩個參數都是唯讀的,不會被API修改,所以在VB6和VB.NET中的差別只在於資料類型的不同。而對於GetSystemDirectory這樣的函數就不同了,因為參數是可修改的,而在VB.NET中String是不可以修改的,所以必須借助於StringBuilder類才能調用。
頁: [1]
查看完整版本: [轉貼]在VB2005使用 FindWindow 查找視窗和獲得控制碼