Просмотр полной версии : Отслеживание простоя системы
Товарищи, как отследить длительный простой системы в AIR приложении? Дело в том, что человек, работающий в программе - может свернуть её в трей и дальше заниматься своими делами, а потом, по необходимости может её открыть и дальше работать. Такая ситуация не считается простоем системы.
Каким образом можно отследить, что человек нажал Windows+L или 40 минут не делал никаких действий с системой. Чувствую без нативных виндовых средств никак. Может ANE есть у кого на примете или кто сталкивался?
Пример, где есть такое: QIP. Общаемся, туда-сюда, уходим или ничего не делаем долго - статус переключается в away. Приходим или начинаем двигать мышой - online.
alexcon314
14.02.2013, 13:33
Ну да, как бы без обращения к системе не обойтись.
GetLastInputInfo() и GetCursorInfo() - вот ключевые Win API функции для этой задачи. Нужно вызывать их по таймеру и обрабатывать соответственно результат.
Как их вызвать из эйр-приложения - вопрос отдельный, можно попробовать написать ANE, а можно покопать в сторону вызова Win API функций из виндовых шелльных скриптов типа vbscript или powershell. Последнее, кстати, наиболее простой вариант, но с реализацией могут вылезти траблы в плане присутствия/отсутствия необходимых компонентов оси, обеспечивающих работу скриптов, на конечной машине. Еще можно тупо написать console application на сях, рапортующий о времени простоя в stdout и дергать его из эйра.
http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/desktop/NativeApplication.html#idleThreshold
http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/desktop/NativeApplication.html#idleThreshold
Это с приложением. Если юзер не отправляет события, но ковыряется в системе - сработает, а это не нужно. Нужен именно простой самой системы.
Да что вы говорите (http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/desktop/NativeApplication.html#event:userPresent).
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.