![]() |
|
![]() ![]() ![]() |
|
I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: нет Всего: 15 |
Добрый день.
Как сделать паузу? Sleep не подходит, так как грузит систему. Читал, что можно с помощью SetTimer, но никак не могу найти пример чтобы не через wm_timer, а через callback - потому что wm_timer посылается окну, а у меня в приложении нет окна. И еще - мне нужно именно на fasm ![]() ![]() Пожалуйста, напишите примерчик, чтоб после запуска программы выходил MessageBox, но не сразу, а через 5 секунд и чтобы это было реализовано SetTimer |
|||
|
||||
spin2 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 15.12.2005 Где: Москва-Одесса Репутация: нет Всего: 31 |
Loop пустой, например.
-------------------- |
|||
|
||||
I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: нет Всего: 15 |
Извините, не понял?
|
|||
|
||||
I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: нет Всего: 15 |
Если Вы имеете ввиду создание пустого цикла, который выполняется пока текущее время <= время начала цикла + 3000 мс, то я так пробовал - пауза получается, но система подвисает на это время
|
|||
|
||||
JAPH |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 8.1.2007 Где: Ленобласть Репутация: 5 Всего: 23 |
Sleep грузит систему? Хм... Вродь не должна
У SetTimer параметр HWND необязательный, и есть 4ый параметр lpTimerFunc ;) -------------------- Что непонятно - спрашиваем ![]() |
|||
|
||||
I_Am_Rock |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: нет Всего: 15 |
100% загружает систему ((( Правда потом продолжает работу норм. Собственно, как и цикл, который повторяется пока не пройдет время.
Я знаю. Вот как я пытаюсь делать (FASM)
Это сообщение отредактировал(а) I_Am_Rock - 7.7.2010, 11:02 |
||||
|
|||||
JAPH |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 8.1.2007 Где: Ленобласть Репутация: 5 Всего: 23 |
Ну с таймером вроде все в порядке. А вот с GetMessage...
-------------------- Что непонятно - спрашиваем ![]() |
||||
|
|||||
izl3sa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 25.6.2010 Репутация: нет Всего: нет |
2I_Am_Rock
>> 100% загружает систему помоему вы не понимаете как работает система =\ Sleep -> NtDelayExecution -> KeDelayExecutionThread Поток после перехода в ядро добавляется в очередь ожидания и переходит в состояние ожидания. С этого момента поток не выполняется пока не выйдет интервал, если только он не alertable. Смотрите сурсы wrk\ntos\ke\wait.c Sleep технически не может грузить систему. Проблема в ваших сорцах. |
|||
|
||||
I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: нет Всего: 15 |
JAPH,
izl3sa, Спасибо, попробую |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |