Страница: 1 |
Страница: 1 |
Вопрос: Sleep Z-z-z-z-z...
Добавлено: 12.06.09 17:14
Автор вопроса: VβÐUηìt | Web-сайт:
Народ, подскажите, можно ли как-нибудь заморозить процесс (прогу) на указанное время? Ну типа Sleep, только не для твоей проги, а для другой? И если можно, то как.
Заранее благодарен.
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #1
Добавлено: 12.06.09 19:08
хм. нада енамить потоки, принадлежащие требуемому процессу и сюспендить их.
http://www.codeproject.com/KB/threads/w32process.aspx
тут апи, которые нужны для обнаружения потоков
Номер ответа: 2
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #2
Добавлено: 12.06.09 19:36
Мне нужно просто подать сигнал пользователю. А если запущена игра - то не выводить тупое сообщение, чтобы игра не свернулась. Я планировал рисовать на ней картинку, и после этого сразу же слипить на 5 сек, чтобы игровой процесс не сдох и одновременно просигналить юзеру.
Я блин даже не подумал - слип же к одному потоку относится. Тобишь я енамю, какие потоки юзает данный процесс, затем каждому делаю слип? Мне кажется, у этих потоков после такого может быть большая попа с синхронизацией - ведь заморозятся они не одновременно. Это фичу я хочу использовать для игр, как следствие - жрущих приложений, которые по современным меркам естственно активно юзают все ядра, которые есть на компе. В итоге получаем жутко тупую и нестабильную систему - какашка.
А можно через DirectX внедриться и просто перехватить перерисовку временно? Если есть готовые примеры, то подкинте плиз, если нет -то не надо, слишком это сложно все.
Номер ответа: 3
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #3
Добавлено: 12.06.09 22:25
хукать отрисовку сложно. по поводу ошибок синхронзации - не вижу проблем. синхронизация как рассчитана на асинхронное поведение потоков. что и произойдет при заморозке. потоки во время синхронизации итак находятся в усыпленно состоянии, тока ждет события синхронизации.
Номер ответа: 4
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #4
Добавлено: 13.06.09 07:56
Ну так там то это длится в основном мало, с тут хоп на 10 секунд - у них же может, таймеры какие поставлены...
Номер ответа: 5
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #5
Добавлено: 13.06.09 08:44
VBD Unit, видел подобный код в примерах. Там он как читалка hWnd анонсирован.
Если чего я напутал, и там не найдешь, - скину после работы.
Номер ответа: 6
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #6
Добавлено: 13.06.09 09:02
Плиз))), буду очень благодарен.
Номер ответа: 7
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #7
Добавлено: 13.06.09 09:40
Нашел.
http://www.vbnet.ru/samples/download.aspx?id=707
Оно?
Номер ответа: 8
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #8
Добавлено: 13.06.09 10:18
Огромное спасибо!!! Выручил!
PS: Еще маленький вопросик: как можно завалить очередь ввода? То что юзер нащелкал, пока прога была заморожена?
Номер ответа: 9
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #9
Добавлено: 13.06.09 17:50
Можно программно клаву отрубать.. Хотя, это уже перебор, ИМХО
Номер ответа: 10
Автор ответа:
AntiOxygene (MegaDefender)
Вопросов: 2
Ответов: 107
Web-сайт:
Профиль | | #10
Добавлено: 19.06.09 13:47
Viewport.Update - перерисовка (dx7)
Номер ответа: 11
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #11
Добавлено: 19.06.09 15:46
Для посторонней проги?