Чтобы определить время простоя или бездействия в программе, вы можете использовать различные методы в зависимости от языка программирования или платформы, с которой вы работаете. Вот несколько примеров на разных языках:
-
JavaScript:
// Method 1: Using the mousemove event let idleTime = 0; document.addEventListener("mousemove", function () { idleTime = 0; }); // Method 2: Using the setInterval function let idleTime = 0; setInterval(function () { idleTime++; if (idleTime > 5) { // Perform an action when idle for more than 5 seconds console.log("User is idle"); } }, 1000); -
Python (настольное приложение, использующее Tkinter):
import tkinter as tk def on_mouse_move(event): global idle_time idle_time = 0 root = tk.Tk() idle_time = 0 root.bind("<Motion>", on_mouse_move) def check_idle_time(): global idle_time idle_time += 1 if idle_time > 5: # Perform an action when idle for more than 5 seconds print("User is idle") root.after(1000, check_idle_time) root.after(1000, check_idle_time) root.mainloop() -
C# (приложение Windows Forms):
using System; using System.Windows.Forms; public class MainForm : Form { private Timer idleTimer; private int idleTime; public MainForm() { idleTimer = new Timer(); idleTimer.Interval = 1000; // 1 second idleTimer.Tick += IdleTimer_Tick; MouseMove += MainForm_MouseMove; } private void MainForm_MouseMove(object sender, MouseEventArgs e) { idleTime = 0; } private void IdleTimer_Tick(object sender, EventArgs e) { idleTime++; if (idleTime > 5) { // Perform an action when idle for more than 5 seconds Console.WriteLine("User is idle"); } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); idleTimer.Start(); } } public static class Program { [STAThread] public static void Main() { Application.Run(new MainForm()); } }
Это всего лишь несколько примеров, реализация которых может различаться в зависимости от используемой вами платформы или фреймворка. Не забудьте настроить пороговое значение времени простоя и действие, которое необходимо выполнить, в соответствии с вашими конкретными требованиями.