windows程式自動鎖屏功能的實現

來源:互聯網
上載者:User

這個問題來自論壇提問

Q:當我登入進入主介面時,在規定的時間內沒有做任何操作,系統就登出(就像電腦的屏保)。

A: 其實很簡單,參考一個api函數就可以了:GetLastInputInfo,以下是參考代碼

示範程式在你10秒內沒有任何滑鼠鍵盤活動既最小化,最小化後晃動滑鼠即可複原

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;  namespace WindowsApplication28...{  public partial class Form1 : Form  ...{    [StructLayout(LayoutKind.Sequential)]    public struct LASTINPUTINFO    ...{      [MarshalAs(UnmanagedType.U4)]      public int cbSize;      [MarshalAs(UnmanagedType.U4)]      public uint dwTime;    }    [DllImport("user32.dll")]    public static extern bool GetLastInputInfo(ref  LASTINPUTINFO plii);      public long getIdleTick()    ...{      LASTINPUTINFO vLastInputInfo = new LASTINPUTINFO();      vLastInputInfo.cbSize = Marshal.SizeOf(vLastInputInfo);      if (!GetLastInputInfo(ref  vLastInputInfo)) return 0;      return Environment.TickCount - (long)vLastInputInfo.dwTime;    }      public Form1()    ...{      InitializeComponent();    }      private void Form1_Load(object sender, EventArgs e)    ...{      this.timer1.Interval = 2000;      this.timer1.Enabled = true;      }    private void timer1_Tick(object sender, EventArgs e)    ...{      long i = getIdleTick();      this.Text = string.Format("jinjazz說:您已經{0}ms沒有動了",i);      if (i > 10 * 1000)      ...{        this.WindowState = FormWindowState.Minimized;      }      else      ...{        this.WindowState = FormWindowState.Normal;      }    }      }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.