Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 07:01 29.09.24 
Компютри и Интернет
   >> Delphi
*Кратък преглед

Страници по тази тема: 1 | 2 | 3 | 4 | 5 | >> (покажи всички)
Тема Inactivity detectionнови  
Автор bass (so deep!)
Публикувано27.11.03 18:21



Hi, тази тема май е засягана (в различна степен) неколкократно, но на когото не му е досадно, нека даде акъл.
Целта е да се отчита бездействието на потребителя без използване на Hooks и без да се разчита на ScreenSaver-а.
Степента на достоверност може да не е непременно 100%, а някъде към 90 :-))
Днес си направих експеримент да свърша работата със следене за смяна на активното приложение, активния контрол в него и позицията на курсора, но в случая с конзолните приложения претърпях крах :-\\ (За съжаление имам сумати юзъри, ползващи интензивно промпта...)



Тема Re: Inactivity detectionнови [re: bass]  
Автор SDR (TaskMaster)
Публикувано27.11.03 19:19



kwo ti prechat HOOKS? po krasivo ot s hooks nema kak da stane ....

------------------------------
I got a COMPILER, and I'm not afraid to use it!


Тема Re: Inactivity detectionнови [re: SDR]  
Автор bass (so deep!)
Публикувано27.11.03 20:27



>> kwo ti prechat HOOKS?

Windows SDK:
"Hooks tend to slow down the system because they increase the amount of processing the system must perform for each message. You should install a hook only when necessary, and remove it as soon as possible. "

Да е за нещо сериозно - разбирам, а тва мойто е едно пикливо приложенийце, което на всичкото отгоре виси през цялото време в SystemTray.
Помня, че в предни теми имаше един пост "В крайна сметка бавни ли са Hooks?", но нещо не мога да го изровя.

Редактирано от bass на 27.11.03 20:29.



Тема Re: Inactivity detectionнови [re: bass]  
Автор PhantomASМодератор (няма)
Публикувано27.11.03 21:10



Няма да минеш без тях колкото и да ти е тъжно ;-)))) - всяко нещо си има цена - за да следиш какво правят мишката и клавиатурата - друг начин няма - освен начина по който се извиква screen saver-a може би. Лошото е че това май е системно събитие и няма как да се закачаш по-поразличен начин т.е. да не се пуска ssaver-a ами да ти праща съобщение на твоята програма.
Всъщност темата май си я гледал някъде другаде(не в този клуб) - и реално бързината зависи от това как точно ти е написана callback функцията и какво прави тя. Вярно забавяне за изпъление има - но ако функцията ти гълта повече време за изпълнение от колкото за самото извикване (от системата) - си е твой проблем - тука бих ти препоръчал ако гониш бързодействие да си я напишеш на нещо друго (разбирай VC ) а не Delphi.

---
Е т'ва е живот!


Тема Re: Inactivity detectionнови [re: PhantomAS]  
Автор Mixy (почетен член)
Публикувано27.11.03 21:52



Доколкото си спомням, преди да тръгне ScreenSaver-a се праща съобщение до всички активни процеси (или прозорци само, не помня) и ако всички го пуснат той си се задейства. Затова напр. докато си гледате Matrix: Revolutions, филма си бичи 2 часа и кусур и никви сейвъри или други тъпотии не ви смущават - просто плеъра не дава на сейвъра да тръгне.

Mixy


Тема Re: Inactivity detectionнови [re: Mixy]  
Автор bass (so deep!)
Публикувано27.11.03 22:21



>>освен начина по който се извиква screen saver-a може би
Рових доста из MSDN-а и въобще в нета да разбера как точно сработва ScreenSavera (дали като просто приложение с Hook или по-хитро някак си)... ама без успех :-((


>>преди да тръгне ScreenSaver-a се праща съобщение до всички активни процеси (или прозорци само, не помня) и ако всички го пуснат той си се задейства.
Съобщение се праща при смяна на системните настройки (в частност - на на ScreeSaver-а), но не и при активиране/деактивиране (или поне аз не можах да изровя такова суперудобно нещо). В началото наивно помислих, че SPI_SETSCREENSAVEACTIVE е мойто събитие :-\\
А иначе целевото изключване на ScreenSaver-а не е проблем, но това е друга тема.
btw, преди 2000/XP даже няма API за проверка дали в момента е активен ScreenSavera-а или не...



Тема Re: Inactivity detectionнови [re: bass]  
Автор PhantomASМодератор (няма)
Публикувано28.11.03 08:34



Относно детект на неактивност - почти съм 99% сигурен вече, че може да се заобиколи hook- а(или поне да не е в явен dll) , една руска фирма беше пуснала компонент който го правеше (обаче не съм сигурен дали просто това което правят не е на по ниско ниво ??). Обаче не можах да го намеря в нета - май го имам някъде по дисковете - ама преди другата седмица нямам време да ровя.
Също подобен компонент (хвалят се, че го правят също без hook) и една друга фирма - правеща AppControls. Потърси ги - и дръпни демото - да видиш какви API функции ползват - това поне лесно можеш да направиш.
Имам обаче лошото чувство, че май го правят (пак чрез кука) - но без dll -явно това е хватката - ако това ти върши работа - мога да ти пратя код.

---
Е т'ва е живот!


Тема Re: Inactivity detectionнови [re: bass]  
Автор synchu ( a?)
Публикувано28.11.03 09:37



оппа...полека полека с хууковете....

И да ! Преди да тръгне скрийнсейвъра Виндовса броудкаства WM_SYSCOMMAND message със wParam = SC_SCREENSAVER, така че ако си пуснеш приложението и го хванеш това съобщение и върнеш ТРУ скрийнсйвъра нема да тръгне и ти ще си делкаш там каквото си ти трябва....

There are 10 types of people in this world one who understand binary jokes and one who not


Тема Re: Inactivity detectionнови [re: synchu]  
Автор bass (so deep!)
Публикувано28.11.03 11:19



Аха, сега ще го изтествам тва, 10x.
Иначе скрийнсейвъра не ми пречи - нека си се пуска. Не ми се искаше обаче да разчитам на него, понеже може някой юзър да реши да го спре :-))



Тема 10x,нови [re: PhantomAS]  
Автор bass (so deep!)
Публикувано28.11.03 11:25



Ще имам материал за уикенда :-)
btw, като споменах за работа през уикенда, в този клуб забелязвам много похвално явление - след 20.00 почти няма народ тук, което говори за отлична трудова дисциплина (за разлика от "Системни администратори", например) :-P




Страници по тази тема: 1 | 2 | 3 | 4 | 5 | >> (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.