Страница: 1 |
Вопрос: DoEvents | Добавлено: 01.09.07 07:16 |
Автор вопроса: ![]() |
В своей программе я использую SendKeys для управления сторонней программой, но иногда та как бы "не успевает" обработать все нажатия, видимо слишком быстро идет отсылка клавиш. Попробовал после каждого нажатия вставлять пустой цикл, иногда помогает, иногда нет. Нашел мало понятное описание DoEvents, подскажите пожалуйста, поможет ли это мне в данном случае или нужно что-то другое пользовать ? |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ICQ: 445091742 Вопросов: 4 Ответов: 169 |
Профиль | Цитата | #1 | Добавлено: 01.09.07 08:57 |
DoEvents Тут не поможет. Попробуй заменить свои цикл на мою процедуру:
Private Declare Function GetTickCount Lib "kernel32" () as Long '*** Private Sub zad(TimeCount as Long) Dim ms as Long ms= GetTickCount Do While Not (GetTickCount -ms) > TimeCount Loop End Sub |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #2 | Добавлено: 01.09.07 16:11 |
DoEvents сам по чебе мало чем поможет. Он просто заставляет твое приложение уступить на некоторое время (отдохнуть)
Чтобы вставить паузу в приложение, нужно сделать что-то вроде: Dim t As Double
t = Timer + 2 Do Until t <= Timer DoEvents Loop |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() Вопросов: 9 Ответов: 18 |
Профиль | Цитата | #3 | Добавлено: 01.09.07 16:22 |
Спасибо, сейчас попробую. Код предложеный intel-DX вешает все напрочь. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 238819245 Вопросов: 9 Ответов: 76 |
Профиль | Цитата | #4 | Добавлено: 01.09.07 20:24 |
Вешает потому-что пропущено "![]() |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 01.09.07 22:26 |
Function DoEvents() As Integer
Member of VBA.Interaction Выдает выполнение так, чтобы операционная система могла обрабатывать другие события А в том цикле система другие события обработать не могёт)) |
Страница: 1 |
|