C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Времы бездействия пользователя...
Daan
Отправлено: 15.07.2004, 10:42


Дежурный стрелочник

Группа: Участник
Сообщений: 62



Привет!!!
У ме такой вопрос как можно определить время бездействия пользователя... То есть какое время пользователь не трогал мышь и клавиатуру. У ме есть подозрение что надо достать виндовский параметр(который с сохраненив экрана)...
Заранее благодарен
Gedeon
Отправлено: 15.07.2004, 11:15


Ветеран

Группа: Модератор
Сообщений: 1742



У меня когда была такая задача, в МСДН ничего не нарыл, поставил хук и обнулял с него прошедшее время, м.б. я не нашел, что искал, если кто знает поделитесь.
Nick
Отправлено: 15.07.2004, 16:05


Машинист паровоза

Группа: Участник
Сообщений: 247



Посадил на главную форму
ApplicationEvents

// обработка мыши над формой
void __fastcall TFormMain::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if ( Msg.message == WM_MOUSEMOVE ) SecondDelay = 0;
// SecondDelay = 0;
}

// обработка нажатия клавиатуры при активном приложении

void __fastcall TFormMain::ApplicationEvents1ShortCut(TWMKey &Msg,
bool &Handled)
{
SecondDelay = 0;
}

еще таймер
и при определенном значении SecondDelay вылет из проги без запросов или блокировка для ввода пароля.

только надо во время долгих расчетов таймер отключать или
SecondDelay = 0;
PeroManiak
Отправлено: 16.07.2004, 00:11


Дежурный стрелочник

Группа: Участник
Сообщений: 71



А еще можно через GetCursorPos. Лично мое ИМХО: рабоать без мыши можно только при очень большом тепении:), поэтому смотришь делта D — расстояние пробега, D=sqrt((x-x0)^2+(y-y0)^2), мышь может сама "сдвинуться", если она птическая, поэтому просто говоришь, что юзер ничего не трогает, пока D до полной остановки не будет типа 2уе. У меня такая фича работала.
Samual
Отправлено: 17.07.2004, 14:10


Дежурный стрелочник

Группа: Участник
Сообщений: 39



Вот вам ответ: см. аттач. Там все написано

User Attached Image Скачать файл
getlastinputinfo.rar



Вернуться в Вопросы программирования в C++Builder