Quel codice non è corretto ... controlla questo
codice:Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long Private Declare Function GetForegroundWindow Lib "user32" () As Long Private Const GW_CHILD = 5 Private Const GW_HWNDNEXT = 2 Private Const WM_GETTEXT = &HD Private Const WM_GETTEXTLENGTH = &HE Dim title As String Dim handle As Long, length As Long Private Function WindowClass(ByVal hWnd As Long) As String Const MAX_LEN As Byte = 255 Dim strBuff As String, intLen As Integer strBuff = String(MAX_LEN, vbNullChar) intLen = GetClassName(hWnd, strBuff, MAX_LEN) WindowClass = Left(strBuff, intLen) End Function Private Function WindowTextGet(ByVal hWnd As Long) As String Dim strBuff As String, lngLen As Long lngLen = SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0) If lngLen > 0 Then lngLen = lngLen + 1 strBuff = String(lngLen, vbNullChar) lngLen = SendMessage(hWnd, WM_GETTEXT, lngLen, ByVal strBuff) WindowTextGet = Left(strBuff, lngLen) End If End Function Private Sub Timer1_Timer() handle = GetForegroundWindow length = GetWindowTextLength(handle) title = String(length, Chr$(0)) GetWindowText handle, title, length + 1 If InStr(title, "Google Chrome") > 0 Then handle = GetWindow(handle, GW_CHILD) Do Until handle = 0 handle = GetWindow(handle, GW_HWNDNEXT) If WindowClass(handle) = "Chrome_OmniboxView" Then Label1 = WindowTextGet(handle) Exit Do End If Loop End If End Sub

Rispondi quotando