我有WPF
一个注册窗口,其中有应用程序。当我单击注册选项卡时,它会打开注册窗口。我的要求是,如果在单击“注册”选项卡后没有任何活动,则应超时并移至其他窗口。
我认为您需要在窗口上检查空闲时间
在Windows加载事件上
private static DispatcherTimer idleTimer;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
idleTimer = new DispatcherTimer();
idleTimer.Interval = TimeSpan.FromSeconds(5);
idleTimer.Tick += this.OnTimerTick;
idleTimer.Start();
}
计时器滴答事件
private void OnTimerTick(object sender, EventArgs e)
{
uint idleTime = this.GetIdleTime();
if (idleTime > 5000)
{
this.Close();
}
}
空闲时间助手方法
[DllImport("User32.dll")]
private static extern bool GetLastInputInfo(ref LASTINPUTINFO dummy);
private uint GetIdleTime()
{
LASTINPUTINFO lastUserAction = new LASTINPUTINFO();
lastUserAction.CbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(lastUserAction);
GetLastInputInfo(ref lastUserAction);
return (uint)Environment.TickCount - lastUserAction.DwTime;
}
internal struct LASTINPUTINFO
{
public uint CbSize;
public uint DwTime;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句