Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU
(Тестовый режим)

/ / /

Выпуск № 34
от 30.01.2005, 11:00

Администратор:Калашников О.А. (adm@rusfaq.ru)
В номере:Вопросов: 2, Ответов: 6


Вопрос № 16192
Здравствуйте ! Расскажите как сделать, чтобы после запуска моей программы невозможно было бы запускать любую другую и невозможно было бы перейти на ранее запущенную до тех пор, пока не закончит работать моя программа.
С уважением Гена.
Отправлен: 24.01.2005, 11:23
Вопрос задал: geb2003 (статус: Читатель)
Всего ответов отправлено: 4

Отвечает: Bob Johnson
Здравствуйте, geb2003!
В общем случае это невозможно, т.к. противоречит правилам мультизадачности виндов. Ты можешь попробовать:
1. Сделать свое окно (форму) Always On Top, тогда большая часть приложений просто не будет видна под ней.
2. Дать своему процессу и потоку максимальный приоритет (только для win NT) (см. SetPriorityClass, SetThreadPriority), тогда, если он будет использовать 100% процессорного времени, на остальные процессы просто ничего не останется.
3. Патчить фунцкции windows, написать свой драйвер и т.п., но это достаточно сложно.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 24.01.2005, 11:55

Отвечает: Boriss
Здравствуйте, geb2003!
Вот есть только для ALT+TAB и CTRL+ESC
Это не совсем профессиональный способ, но он работает по кр.мере в 98-м! Мы просто эмулируем запуск и остановку скринсейвера.

Приложение:

Ответ отправил: Boriss (статус: Профессионал)
Отправлен: 24.01.2005, 14:58

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, geb2003!
Ставь приоритет Realtime и при событии LstFocus фокус этот самый возвращай себе ещё полезно бы сделать окно верхним. Способ интереснее через системные функции - получить список процессов и смотреть: если есть новый - terminate ну и плюс всё выше описанное. Ещё можно поставить себе MouseCapture. Вобщем будет работать ТОЛЬКО твоя прога, а весь остальной интерфейс тормозить, и если тебе понадобилось блокировать интерфейс Виндов, то предполагаю, что прога будет работать минимальное время или если ты пишешь какую-то оболочку типа как в игровых клубах, то надо экспирементировать... Далее MSDN + SDK
Ответ отправил: Гриценко Юрий Алексеевич (статус: 1-ый класс)
Отправлен: 25.01.2005, 01:17

Отвечает: sir henry
Здравствуйте, geb2003!
Создать в памяти файл и проверять его наличие при запуске.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 25.01.2005, 05:29


Вопрос № 16214
Уважаемые эксперты!
Извините за назойливость. Не подскажите как определить скорость вращения колеса мышки под виндойХР. Есть идея соорудить из старой мыши анемометр (прибор для измерения скорости ветра).Буду очень благодарен за любую информацию.
С уважением Антон.
Отправлен: 24.01.2005, 19:39
Вопрос задал: антон (статус: Читатель)
Всего ответов отправлено: 2

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, антон!
Ничего не выйдет т.к. виндой мышка-анемометр будет конфликтовать с мышкой-грызун!
Тогда проще уже самому анемометр электронный спаять дрова на него паписать!
Ну а для смелых, то меряй количество сообщений о прокрутке колеса либо VScroll/HScroll!
Далее - MSDN...
P.S. Если сделаешь фотку замылишь?Буду благодарен...
Mail:Palach1235@mail.ru
Ответ отправил: Гриценко Юрий Алексеевич (статус: 1-ый класс)
Отправлен: 25.01.2005, 01:06

Отвечает: Bob Johnson
Здравствуйте, антон!
См. сообщение WM_MOUSEWHEEL и определи, какое суммарное число получается от прокрутки мыши на 1 оборот, после чего уже будет нетрудно определять скорость вращения. только еще есть потенциальная возможность, что мышь не рассчитана на большую скорость вращения колеса и тебе придется ставить какой-нибудь редуктор, что уже сложнее.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 25.01.2005, 01:15


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Россия, Москва. Идея, дизайн, программирование: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное