Code:Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Const GWL_STYLE = (-16) Private Const ES_PASSWORD = &H20& Private Const WM_SETTEXT As Long = &HC Private Const BM_CLICK = &HF5 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 FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessageString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) 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 FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Const SW_SHOWNORMAL = 1 Private Sub Form_Load() Dim hTxtWnd& Dim lWndStyle& Dim bFound As Boolean Dim lngSIapp As Long, RetVal As Long, lpClassName As String lngSIapp = FindWindow(vbNullString, "Connect to APS") hTxtWnd = FindWindowEx(lngSIapp, 0&, "Edit", vbNullString) Do While Not bFound hTxtWnd = FindWindowEx(lngSIapp, hTxtWnd, "Edit", vbNullString) lWndStyle = GetWindowLong(hTxtWnd, GWL_STYLE) If lWndStyle And ES_PASSWORD Then MsgBox "found password WIndow" SendMessageString hTxtWnd, WM_SETTEXT, 0, "password" bFound = True lngSIapp = FindWindowEx(lngSIapp, 0&, "Button", "OK") SendMessage lngSIapp, BM_CLICK, 0, 0 Exit Do End If Loop End Sub![]()




Reply With Quote