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来排除输入设备或将输入定向到后台应用程序

您需要提供一些用于获取任何类型响应的代码。我无法禁用它,因为我需要耳机一直运行。谢谢你的回答。