Пишу программу для учета рабочего времени.
Нужна проверка того, что пользователь не просто включил программу и сидит бездельничает, а действительно осуществляет работу. В голове вариант проверять мышь с клавиатурой и при отсутствии действий n минут, включать таймер, который считает кол-во потраченного в пустую времени.
Пользователь ведь может пользоваться соц сетями, играть в игры и это будет считаться как рабочее время. Следовательно в голову пришла мысль, что можно составить список из "рабочих программ" и время, проведенное в других, не учитывать как отработанное.
Сама суть вопроса - какими средствами это реализовать? Примеры может какие есть, или статьи. К сожалению, не гуру C#, но диплом писать как-то нужно :)
Все через WinAPI
. Активное окно узнать можно примерно так:
[ DllImport("user32.dll") ]
static extern int GetForegroundWindow();
[ DllImport("user32.dll") ]
static extern int GetWindowText(int hWnd, StringBuilder text, int count);
private void GetActiveWindow()
{
const int nChars = 256;
int handle = 0;
StringBuilder Buff = new StringBuilder(nChars);
handle = GetForegroundWindow();
if ( GetWindowText(handle, Buff, nChars) > 0 )
{
WindowLabel.Text = Buff.ToString();
IDWindowLabel.Text = handle.ToString();
}
}
Клавиатуру можно как-то так:
https://blogs.msdn.microsoft.com/dmandreev/2010/11/29/windows-c/
Дальше уж сами.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеет ли смысл использовать голый ASPNET? Есть ли в этом какая-нибудь необходимость когда-нибудь?
Ничего не отображается, я уже облегчал, убрал, то что идёт после && и всё рано не работает, почему у меня постоянно не работают такие простые...
Добрый день! Помогите начинающему пожалуйста! Получаю через api ЯндексДиск список папок: