Hiho Ihr 
Bisher habsch dank dem guten Forum eigentlich immer die Antwort auf meine Fragen gefunden, jedoch stehe ich gerade vor einem Problem, dass ich selber (trotz google
nicht hinbekomme.
Szenario ist:
Ich habe 2 Anwendungen und möchte von der einen Anwendung(meine) eine andere Fernsteuern... Sendmessagefunktioniert auch... nur leider partiell
Sende ich beispielsweise ein Send/Post-Message (Sprich synch/asynch warten)
In diesem Beispiel habe ich ein Handle auf ein "listview32" Elememt der anderen Anwendung und simuliereeinen Click auf ein Item. Das Funktioniert auch soweit.. Durch denk Click öffnet sich ein weiteres Fenster.
Das Problem ist nun, dass in diesem neuen Fenster versuche mit FindWindow mir handle auf Elemente zu holen.
Jedoch klappt das nicht immer. Mein erster Ansatz war "Sleep(1000) " um eine gewisse Zeit abzuwarten, bis das Fenster vollständig aufgebaut ist... Das klappt zwar öfter aber auch nicht in 100% der Fälle.
Was jedoch wirklich komplett Funktioniert ist, wenn ich eine MessageBoxTimeout (undocumented api aus user32.dll) nutze um kurzzeitig eine MessageBox anzuzeigen. Das ist aber absoluter oberpfusch, da ich ja nciht 10000 msgboxen aufrufen mag nur damit ich danach nach einem handle suchen kann...
Auf diese Lösung bin ich gekommen, da es scheint, dass die Fremde Anwendung die Sendmessages immer dann verarbeitet, wenn ich die maus über das Fenster bewege - sprich irgendeine "Aktualisierung" vor nimmt. Hat irgendwer eine Idee, wieso das so strange ist? SendMessage/PostMessage/SendNotify/SendMessageCallback etc führen alle zu dem gleichen Ergebnis :/
Gruß, Sky

Bisher habsch dank dem guten Forum eigentlich immer die Antwort auf meine Fragen gefunden, jedoch stehe ich gerade vor einem Problem, dass ich selber (trotz google

Szenario ist:
Ich habe 2 Anwendungen und möchte von der einen Anwendung(meine) eine andere Fernsteuern... Sendmessagefunktioniert auch... nur leider partiell

In diesem Beispiel habe ich ein Handle auf ein "listview32" Elememt der anderen Anwendung und simuliereeinen Click auf ein Item. Das Funktioniert auch soweit.. Durch denk Click öffnet sich ein weiteres Fenster.
Code:
SendMessage(listviewHwnd, WM_LBUTTONDOWN, (WPARAM)MK_LBUTTON, MAKELPARAM(1, 1));
SendMessage(listviewHwnd, WM_LBUTTONUP, (WPARAM)MK_LBUTTON, MAKELPARAM(1, 1));
Jedoch klappt das nicht immer. Mein erster Ansatz war "Sleep(1000) " um eine gewisse Zeit abzuwarten, bis das Fenster vollständig aufgebaut ist... Das klappt zwar öfter aber auch nicht in 100% der Fälle.
Was jedoch wirklich komplett Funktioniert ist, wenn ich eine MessageBoxTimeout (undocumented api aus user32.dll) nutze um kurzzeitig eine MessageBox anzuzeigen. Das ist aber absoluter oberpfusch, da ich ja nciht 10000 msgboxen aufrufen mag nur damit ich danach nach einem handle suchen kann...
Auf diese Lösung bin ich gekommen, da es scheint, dass die Fremde Anwendung die Sendmessages immer dann verarbeitet, wenn ich die maus über das Fenster bewege - sprich irgendeine "Aktualisierung" vor nimmt. Hat irgendwer eine Idee, wieso das so strange ist? SendMessage/PostMessage/SendNotify/SendMessageCallback etc führen alle zu dem gleichen Ergebnis :/
Gruß, Sky