C# 获取GetLastInputInfo的设备名称
我是新来的,我的英语不是很好,但我希望任何人都能帮助我 实际上,我正在使用C# 获取GetLastInputInfo的设备名称,c#,input,C#,Input,我是新来的,我的英语不是很好,但我希望任何人都能帮助我 实际上,我正在使用LASTINPUTINFO和GetLastInputInfo来获取系统的非活动状态,但当我连接特定的耳机时,它会生成输入 如何排除此设备?有没有办法获取生成最后一次输入的设备的名称 还是其他解决方案 这是我正在使用的代码: [StructLayout(LayoutKind.Sequential)] public struct LASTINPUTINFO { public uint cbSize; publi
LASTINPUTINFO
和GetLastInputInfo
来获取系统的非活动状态,但当我连接特定的耳机时,它会生成输入
如何排除此设备?有没有办法获取生成最后一次输入的设备的名称
还是其他解决方案
这是我正在使用的代码:
[StructLayout(LayoutKind.Sequential)]
public struct LASTINPUTINFO
{
public uint cbSize;
public uint dwTime;
}
[DllImport("user32.dll")]
static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
public TimeSpan? GetInactiveTime()
{
info = new LASTINPUTINFO();
info.cbSize = (uint)Marshal.SizeOf(info);
if (GetLastInputInfo(ref info))
return TimeSpan.FromMilliseconds(Environment.TickCount - info.dwTime);
else
return null;
}
private void timer1_Tick(object sender, EventArgs e)
{
tiempoInactivity = GetInactiveTime().ToString().Substring(0,8);
label1.Text = "Inactividad: " + tiempoInactivity;
}
可以使用硬件帮助器库禁用物理设备。这可能会有帮助。如果您可以提供代码片段,那么可能会有进一步的帮助。 有关信息,请访问
更新-您可以使用rawinputdevice来排除输入设备或将输入定向到后台应用程序您需要提供一些用于获取任何类型响应的代码。我无法禁用它,因为我需要耳机一直运行。谢谢你的回答。