zoukankan      html  css  js  c++  java
  • C#获取键盘和鼠标操作的时间的类

    ///


    /// 创建结构体用于返回捕获时间
    ///

    [StructLayout(LayoutKind.Sequential)]
    struct LASTINPUTINFO
    {
    ///
    /// 设置结构体块容量
    ///

    [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
            {
                long count = Environment.TickCount - (long)vLastInputInfo.dwTime;
                //long icount = count / 1000;
                return count;
            }
        }
    

    private void timer1_Tick(object sender, EventArgs e)
    {
    int sunNumber=int.Parse(GetLastInputTime().ToString());
    if (sunNumber >= 30000)
    {
    this.Close();
    }

        }
  • 相关阅读:
    jquery1.9之学习笔记
    ERROR: Removing 'hello': Device or resource busy
    windows虚拟机性能调整
    kvm虚拟机控制台登录配置
    KVM虚拟机的管理
    window kvm 虚拟机的创建
    kvm虚拟化环境的搭建
    C实现哈希表
    哲学家就餐问题 C语言实现
    Linux面试题
  • 原文地址:https://www.cnblogs.com/VictorBlog/p/5522805.html
Copyright © 2011-2022 走看看