zoukankan      html  css  js  c++  java
  • 实现程序多长时间没有接受到用户的消息

     1   private void Form1_Load(object sender, EventArgs e)
     2         {
     3             System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
     4             t.Interval = 100;
     5             t.Tick += new EventHandler(t_Tick);
     6             t.Start();
     7         }
     8 
     9         void t_Tick(object sender, EventArgs e)
    10         {
    11             long time = GetLastInputTime();
    12             if (time > 1000)
    13             {
    14                 ((System.Windows.Forms.Timer)sender).Stop();
    15                 MessageBox.Show(time.ToString());
    16             }
    17         }
    18 
    19         [StructLayout(LayoutKind.Sequential)]
    20         struct LASTINPUTINFO
    21         {
    22             [MarshalAs(UnmanagedType.U4)]
    23             public int cbSize;
    24             [MarshalAs(UnmanagedType.U4)]
    25             public uint dwTime;
    26         }
    27 
    28         [DllImport("user32.dll")]
    29         static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
    30 
    31         static long GetLastInputTime()
    32         {
    33             LASTINPUTINFO vLastInputInfo = new LASTINPUTINFO();
    34             vLastInputInfo.cbSize = Marshal.SizeOf(vLastInputInfo);
    35             if (!GetLastInputInfo(ref vLastInputInfo)) return 0;
    36             return Environment.TickCount - (long)vLastInputInfo.dwTime;
    37         }
  • 相关阅读:
    小白自动化测试指南
    分布式性能测试框架用例方案设想(二)
    高QPS下的固定QPS模型
    测试自动化最佳实践【译】
    moco框架接口命中率统计实践
    基于docker的分布式性能测试框架功能验证(一)
    编写高质量代码:Web前端开发修炼之道(一)
    JavaScript中点操作符和中括号操作符区别
    Vue脚手架生成及配置
    Npm设置淘宝镜像
  • 原文地址:https://www.cnblogs.com/sskset/p/669357.html
Copyright © 2011-2022 走看看