002
24.02.2005, 12:30 Uhr
~Finder
Gast
|
o.k.
ich möchte dann in einem Editfeld (es gibt 2 und ich möchte das 2.Editfeld) einen Text reinschreiben. Es handelt sich aber dabei um einen Dialog in einer anderen Anwendung:
CWnd *pWndPrev, *pWndChild; CString strMyText = "Hello World";
if( pWndPrev = CWnd::FindWindow(NULL,"ForeignApp" ) ) { // if so, does it have any popups? pWndChild = pWndPrev->GetLastActivePopup( ); // If iconic, restore the main window if( pWndPrev->IsIconic( ) ) { pWndPrev->ShowWindow( SW_RESTORE ); } // Bring the main window or its popup to the foreground pWndChild->SetForegroundWindow( ); // Get edit control which happens to be the first child window CEdit* pEdit = (CEdit*)pWndChild->GetWindow(GW_CHILD); if(pEdit) { //i want the second Control on the foreign dialog: pEdit = (CEdit*)pWndChild->GetWindow(GW_HWNDNEXT); if(pEdit) { pEdit->SendMessage(EM_REPLACESEL, 0, (LPARAM)strMyText.GetBuffer(strMyText.GetLength())); pWndPrev->SendMessage( WM_COMMAND, IDOK, NULL ); } } }
-->funzt nicht, so wie ich mir das vorstelle :-(
Idee? |