kok80
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите, или может у кого какие мысли рождаются: запускаю внешнюю прогу, вызываю диалог открытия файла, нахожу хэндл EDIT, пытаюсь в него занести нужный пусть с имменем файла (delphi, но суть надеюсь понятна): repeat WINDOW:=FindWindow('#32770','Открыть изображение'); until WINDOW>0; repeat window:=FindWindowEx(window,0,'Edit',nil); until WINDOW>0; window = хэндл EDIT в диалоговом окне SendMessage(WINDOW,WM_SETTEXT,0,dword(comment)) результат a=1, те сообщение отправлено a:=SendMessage(WINDOW,wm_gettextlength,0,0); результат = длина отправленной строки SendMessage(WINDOW,wm_gettext,100,dword(bufer)); в итоге bufer содержит строку, которую отправлял Но зрительно я этой строки не вижу в EDIT, из другой програмы пытаюсь получить длину строки и строку - результат нулевой, те строка пуста ставлю задержку SLEEP(1000) после findwindowex и перед wm_settext - все ок. Вопросы - 1) что делаю не так? 2) как узнать при создании окна в чужой проге, что окно готово к работе (с другими внешними приложениями - наличие хэндла окна через FindWindow было достаточным условием для манипуляций с окном, те есть хэндл - значит готово, а здесь ни фига) 3) чего этот гад врет, что EDIT содержит нужную строку нужной длины | Всего записей: 39 | Зарегистр. 04-10-2004 | Отправлено: 18:34 21-01-2010 | Исправлено: kok80, 18:39 21-01-2010 |
|