2015-02-27 3 views
-1

Я новый парень здесь, и мой английский не очень хорош, все же я надеюсь, что кто-нибудь может мне помочь.Получить имя устройства GetLastInputInfo

Фактически я использую 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; 
} 
+0

Вам необходимо предоставить код, который вы используете, чтобы получить какой-либо ответ. – Funlamb

ответ

0

Вы можете отключить физическое устройство с использованием библиотеки Hardware Helper. Это может помочь. Если вы можете предоставить свои фрагменты кода, возможно, это поможет. Некоторая информация доступна на http://www.codeproject.com/Articles/21503/Hardware-Helper-Library-for-C

Updated- вы можете использовать rawinputdevice исключить устройство ввода или направить на вход фоновое приложение вместо

+0

Я не могу отключить его, потому что мне нужно, чтобы гарнитуры постоянно работали. Спасибо за ответ. – HaNZeL182

Смежные вопросы