ok for the life of me I have tried 100 combo's of findwindow, findwindowex,
getchild etc... and cant seem to grab these controls.. here is a spy++ dump of what I need.. my main program is just called TEST123... then there
is LoginWnd way down.. then after that I need to push in data into the first and second edit boxes and then hit the OK button.. can someone give me some pointers on what windows handle calls I should be using ??
samples of the calls I have been trying..Code:Window 0005263C "Default IME" IME Window 00012642 "TEST123" WindowsForms10.Window.8.app.0.378734a Window 00012644 "" WindowsForms10.LISTBOX.app.0.378734a Window 00012646 "Control Login" WindowsForms10.BUTTON.app.0.378734a Window 00012648 "Radiology" WindowsForms10.STATIC.app.0.378734a Window 0001264A "OpenImage" WindowsForms10.BUTTON.app.0.378734a Window 0001264C "Login" WindowsForms10.BUTTON.app.0.378734a Window 0001264E "GetExam" WindowsForms10.BUTTON.app.0.378734a Window 00012650 "Init" WindowsForms10.BUTTON.app.0.378734a Window 00012652 "Init2" WindowsForms10.BUTTON.app.0.378734a Window 00012654 "OpenImage" WindowsForms10.BUTTON.app.0.378734a Window 00012656 "Login" WindowsForms10.BUTTON.app.0.378734a Window 00012658 "GetExam" WindowsForms10.BUTTON.app.0.378734a Window 0001265A "Init" WindowsForms10.BUTTON.app.0.378734a Window 00012660 "LoginWnd" Afx:06260000:8:00010011:01900011:00000000 Window 00012662 "" Edit Window 00012664 "" Edit Window 00012666 "" ComboBox Window 0001266A "" Button Window 0001266C "" Button Window 0001266E "OK" Button Window 00012670 "Cancel" Button Window 00012672 "Welcome to iSite" RichEdit20A Window 000520B6 "M" MSCTFIME UI Window 00071FCC "Default IME" IME Window 00082076 "" VBFloatingPalette Window 0008208C "" VBFloatingPalette
and some sample calls.. I have just been trying tons of combo's to drill downwards..Code:<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function FindWindow( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As IntPtr End Function <DllImport("user32.dll", EntryPoint:="FindWindow", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function FindWindowByClass( _ ByVal lpClassName As String, _ ByVal zero As IntPtr) As IntPtr End Function <DllImport("user32.dll", EntryPoint:="FindWindow", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function FindWindowByCaption( _ ByVal zero As IntPtr, _ ByVal lpWindowName As String) As IntPtr End Function <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function FindWindowEx(ByVal parentHandle As IntPtr, _ ByVal childAfter As IntPtr, _ ByVal lclassName As String, _ ByVal windowTitle As String) As IntPtr End Function Private Declare Function GetDlgItem Lib "user32.dll" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Declare Auto Function SendMessage2 Lib "user32.dll" _ (ByVal hwnd As IntPtr, _ ByVal wMsg As Integer, _ ByVal wparam As Integer, _ ByVal lparam As System.Text.StringBuilder) As IntPtr Private Declare Function SendMessage4 Lib "user32" Alias "SendMessageA" _ (ByVal hWnd As Integer, _ ByVal wMsg As Integer, _ ByVal wParam As Integer, _ ByVal lParam As String) As Integer Declare Auto Function GetWindow Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal uCmd As UInt32) As IntPtr
and I have tried in the editor to pop between all sorts of calls.. I can get it to find the main window TEST123.. but nothing under it..Code:'ParenthWnd = FindWindow("", lpszParentWindow) ParenthWnd = FindWindow(vbNullString, "TEST123") lstTrace.Items.Add("iSite Handle -" + Hex(ParenthWnd).ToString) ParenthWnd = FindWindow(vbNullString, "LoginWnd") lstTrace.Items.Add("Login alone Handle -" + Hex(ParenthWnd).ToString) hWnd = FindWindowEx(ParenthWnd, hWnd, lpszClass, "") hWnd = FindWindowEx(ParenthWnd, 0&, "ThunderRT6TextBox", vbNullString) ChildWnd = GetWindow(ParenthWnd, GW_CHILD) lstTrace.Items.Add("Child Handle -" + Hex(ChildWnd).ToString) LoginWnd = FindWindowEx(ChildWnd, 0&, vbNullString, "LoginWnd") lstTrace.Items.Add("Login window Handle -" + Hex(LoginWnd).ToString) userWnd = FindWindowEx(LoginWnd, 0&, "ThunderRT6TextBox", vbNullString) lstTrace.Items.Add("control Handle -" + Hex(userWnd).ToString)
any pointers is appreciated..


Reply With Quote