Auf CListCtrl zugreifen (Automatisierung)
-
Hallo,
ich möchte eine Automatierung für ein Tool schreiben.
Mit Spy++ habe ich die Applikation gefunden und kann sie ansprechen.HWND hWndP = ::FindWindow (NULL, "Die Applikation"); if(hWndP == NULL){ AfxMessageBox("Applikation nicht gefunden."); }Danach hol ich mir mit EnumChildWindows alle Fenster dieses Fensters und schreibe sie in meinen Vector.
Nun kann ich mit z.B. mit
::SendMessage(vecWindows[i], WM_LBUTTONDOWN, 0, 0);Aktionen durchführen.
Das Problem was ich habe, ist folgendes:
Eines dieser Fenster im Fenster ist wahrscheinlich ein CListCtrl
Im Spy++ steht unter Caption "User 1" und unter Class HistoryListCtrlWie kann ich nun auf die einzelnen Elemente der Liste zugreifen?
MitCListCtrl list = (CListCtrl)list.FromHandle(vecWindows[i]);Hab ichs versucht, klappt aber nicht....
Wie geht das?
-
evtl. so
CListCtrl* pControl = static_cast<CListCtrl*>(CListCtrl::FromHandle(vecWindows[i]));
-
Hab ich auch schon probiert,
und dann mitint itemCount = pControl->GetItemCount(); CString out; out.Format("%i",itemCount); AfxMessageBox(out); pControl->Detach();versucht mir die Anzahl der Elemente in der Liste ausgeben zu lassen.
Steht immer ne 0 drin
-
Komischerweise gibt mir aber
pControl->GetWindowText(out);den Titel des CListCtrl korrekt aus.
Aber ich kann mir nicht die Anzahl der Elemente Ausgeben lassen....