📄 mousekeyboardsensor.cs
字号:
namespace Imps.Client.Pc.Sensor
{
using Imps.Client.Pc;
using Imps.Client.Pc.BizControls;
using Imps.Common;
using System;
using System.Runtime.InteropServices;
internal class MouseKeyboardSensor : PresenceSensorBase, IDisposable
{
private bool disposed;
public MouseKeyboardSensor(IFrameworkWindow frameworkWnd) : base(frameworkWnd)
{
}
private void CheckSensors()
{
win32api_wrapper.LASTINPUTINFO lii = new win32api_wrapper.LASTINPUTINFO();
lii.cbSize = Marshal.SizeOf(lii.GetType());
lii.dwTime = 0;
if (!win32api_wrapper.GetLastInputInfo(ref lii))
{
base.PresenseValue = MainPresence.Online;
}
else
{
int num2 = (int) (win32api_wrapper.GetTickCount() - lii.dwTime);
int num3 = base.ImpsConfig.UserSetting.SensorSetting.AwayOnIdle.Value ? base.ImpsConfig.UserSetting.SensorSetting.AwayOnIdleMinutes.Value : 0;
if ((num3 > 0) && (num2 > (num3 * 0xea60)))
{
base.PresenseValue = MainPresence.Away;
}
else
{
base.PresenseValue = MainPresence.Online;
}
}
}
public void Dispose()
{
bool disposed = this.disposed;
this.disposed = true;
}
~MouseKeyboardSensor()
{
this.Dispose();
}
public override bool Poll()
{
this.CheckSensors();
return base.Poll();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -