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 ??
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
samples of the calls I have been trying..
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 some sample calls.. I have just been trying tons of combo's to drill downwards..
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)
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..
any pointers is appreciated..