|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 10, 2004 22:30:36 Всем огромный привет. Вот всё же начинаю, мож и заново, но, тема такова: Для простого юзера компа мессаги о результате работы драйвера неудобно наблюдать ч/з спец. Программы неплохо бы видеть их как MsgBox. Очевидны 2 варианта 1) ухитриться и вызвать MessageBox из юзера 2) послать при помощи IoRaiseInformationalHardError. Вариант номер 1- изврат, и того не стоит. Остановимся на 2-ом. Так вот тут какой прикол: прога посылает 2 раза IoRaiseInformationalHardError 2 разные строки, но отображается только 1-я, а последняя как-то пролетает. Если же успеть (ессно, при больших промежутках времени можду послониями мессаг) нажать на «окошечко» в трее, то первая соотв-но пропадет, и, как раз вызовется к этому времени и появится вторая. Но если выхвать подряд, то… а чаще всего подряд и идет… Надеюсь проблема ясна. Теперь это: Return Value: BOOLEAN - TRUE if we decided to dispatch a pop-up. FALSE if we decided not to because: - pop-ups are disabled in the requested thread, or - a pool allocation failed, or - an equivalent pop-up is currently pending a user response (i.e. waiting for the user to press <OK>) or in the queue, or - too many pop-ups have already been queued. Так вот, решение проблемы может заключатся в следующем: посалем мессагу, если есть еще какая-то(waiting for the user to press <OK>) or in the queue), то помещаем в очередь асинхронных операций, при условии, повторять вызов, пока не будет TRUE. Так вот, извините, хрен, всегда возвращается TRUE, даже когда хоть одна есть. Может я не так трактую фразу «waiting for the user to press <OK>», но тогда вопрос – как решить мою проблему???? Вопрос по ходу: для контроля макс кол-ва мессаг используется семафор (max==19h у меня), но при уже показанной 1-й мессаги, и при вызове 2-й значение семафора, всё равно 0. Мож опять где ошибся… Пожалуйста help. P.S.: Может проблема и не столь глобальна, важна, но не тривиальна, в смысле задачи о выдаче мессаг без помощи спец. программ. Может есть каки-то другие способы, тогда очччень буду рад их услышать. Заранее огромное спасибо! --==PPS==-- |
|
|
Дата: Сен 12, 2004 09:00:14 Ну сделай флажок показа мессаги. Если мессага есть на экране - флажок установлен. Как только мессага падает - флажок сбрасывается. Перед выводом новой мессаги проверяешь флаг и, если он установлен, делаешь задержку и проверяешь снова (можно и без задержки, но лагать будет из-за цикла бесконечного). |
|
|
Дата: Сен 12, 2004 19:06:25 И как же это проверить то? -Mutex молчит - всегла "0", а GetPixel - только в User-e ??? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.069 |