來源:#1 & #2
通過字幕我希望你的意思是你已經創建的子窗口的窗口句柄列表 「窗口標題文本」
休息會很容易
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function GetWindowText(ByVal hwnd As IntPtr, ByVal lpString As StringBuilder, ByVal cch As Integer) As Integer
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function GetWindowTextLength(ByVal hwnd As IntPtr) As Integer
End Function
Public Function GetText(ByVal hWnd As IntPtr) As String
Dim length As Integer
If hWnd.ToInt32 <= 0 Then
Return Nothing
End If
length = GetWindowTextLength(hWnd)
If length = 0 Then
Return Nothing
End If
Dim sb As New System.Text.StringBuilder("", length + 1)
GetWindowText(hWnd, sb, sb.Capacity)
Return sb.ToString()
End Function
用法:
For Each p As Process In Process.GetProcessesByName("MyProccess")
Dim ChildrenList As New List(Of IntPtr)
ChildrenList = GetChildWindows(p.MainWindowHandle)
MsgBox(ChildrenList.Count) ' = 343
For Each hh As IntPtr In ChildrenList
Dim caption As String = GetText(hh)
' use the caption the way u want
Next
Next
你見過這個網站嗎? http://pinvoke.net/ – WraithNath
你的意思是你想'FindWindow'標題? – spajce
@WraithNath當然,我看到了這個網站。 – sthml