Страница: 1 |
Вопрос: Ждем появления окна.... | Добавлено: 24.05.04 20:06 |
Автор вопроса: ![]() |
Help... me! Созрел такой вопросик: Как корректно реализовать функцию, которая бы ждала появления заданного окна с зданным названием? Я написал функцию что-то типа: dim flag as boolean flag=false on error resume next do doevents() windows.activate("Bla bla") если не произошло ошибки то flag=true loop while flag=falshe
такая реализация жрет все процессорное время. Я уверен, что можно это сделать проще и корректней. Прицепиться к какому-нибудь системному событию... типа появилось новое окно. В общем... не знаю! Подскажите. |
Ответы | Всего ответов: 4 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 147688925 Вопросов: 24 Ответов: 708 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 24.05.04 22:18 |
Отслеживание подобных событий нужно организовывать по таймеру. Тогда ты не будешь занимать процессор. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 50804884 Вопросов: 72 Ответов: 642 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 25.05.04 11:58 |
P.S. и все таки лудше использовать блок try catch... |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 66945792 Вопросов: 4 Ответов: 29 |
Профиль | Цитата | #3 | Добавлено: 25.05.04 13:26 |
ок. значит достаточно в do loop вставить задержку по таймеру? а как можно это сделать через try? в системе чет события появилось новое окно? |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 121772779 Вопросов: 0 Ответов: 42 |
Профиль | Цитата | #4 | Добавлено: 09.06.04 12:08 |
bool flag = false; do { try { doevents(); System.Threading.Thread.Sleep(100); windows.activate("Bla bla"); break; } catch(Exception) {} } while(true); |
Страница: 1 |
|