ねえ、私はそれが言うところまでずっと降りる方法を理解しようとしています:
ウィンドウ 00211286 "" QWidget
緑色で強調表示されているのは、以下のコードで見つけようとしているものです。
現在、私はこれを持っています:
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWndParent As IntPtr, ByVal hWndChildAfter As Integer, ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As IntPtr) As IntPtr
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As IntPtr) As IntPtr
Public Declare Function SendMessageLong& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
Public Const WM_CHAR = &H102
Private Const BM_CLICK = &HF5
Public Const WM_LBUTTONDBLCLK = &H203
Public Const ENTER_KEY = 13
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim hwndParent As Long = FindWindow(vbNullString, "Genymotion")
Dim hwndButton As Long = FindWindowEx(hwndParent, IntPtr.Zero, "QWidget", "")
hwndButton = FindWindowEx(hwndButton, IntPtr.Zero, "QWidget", "content")
hwndButton = FindWindowEx(hwndButton, IntPtr.Zero, "QWidget", "mainFrame")
hwndButton = FindWindowEx(hwndButton, IntPtr.Zero, "QWidget", "")
hwndButton = FindWindowEx(hwndButton, IntPtr.Zero, "QWidget", "qt_scrollarea_viewport")
hwndButton = FindWindowEx(hwndButton, IntPtr.Zero, "QWidget", "")
End Sub
FindWindow の値を取得し、次に最初の findwindowEx の値も取得します....しかし、その後、大きな脂肪 0 を取得します。次に、最後の FindWindowEx について、最初の findwindowEx で行ったのと同じ番号を取得します。
どんな助けでも素晴らしいでしょう!