zoukankan      html  css  js  c++  java
  • C# 检测操作系统是否空闲,实现系统空闲后做一些操作

         public class CheckComputerFreeState
    {
    /// <summary> /// 创建结构体用于返回捕获时间 /// </summary> [StructLayout(LayoutKind.Sequential)] struct LASTINPUTINFO { /// <summary> /// 设置结构体块容量 /// </summary> [MarshalAs(UnmanagedType.U4)] public int cbSize; /// <summary> /// 抓获的时间 /// </summary> [MarshalAs(UnmanagedType.U4)] public uint dwTime; } [DllImport("user32.dll")] private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii); /// <summary> /// 获取键盘和鼠标没有操作的时间 /// </summary> /// <returns>用户上次使用系统到现在的时间间隔,单位为秒</returns> public static long GetLastInputTime() { LASTINPUTINFO vLastInputInfo = new LASTINPUTINFO(); vLastInputInfo.cbSize = Marshal.SizeOf(vLastInputInfo); if (!GetLastInputInfo(ref vLastInputInfo)) { return 0; } else { var count = Environment.TickCount - (long)vLastInputInfo.dwTime; var icount = count / 1000; return icount; } } }

    调用:

           static void Main(string[] args)
            {
                Timer t = null;
                t = new Timer((o) =>
               {
                   var result = GetLastInputTime();
                   Console.WriteLine(result);
                   if (result < 1*60) return;
                   if (t == null) return;
                   t.Dispose();
                   Console.WriteLine("电脑1分钟未操作!");
               }, null, 1000, 1000);
    
                Console.ReadLine();
            }
  • 相关阅读:
    MySQL "show users"
    MySQL
    A MySQL 'create table' syntax example
    MySQL backup
    MySQL show status
    Tomcat, pathinfo, and servlets
    Servlet forward example
    Servlet redirect example
    Java servlet example
    How to forward from one JSP to another JSP
  • 原文地址:https://www.cnblogs.com/gaobing/p/4421400.html
Copyright © 2011-2022 走看看