Могу ли я получить user32.dll getlastinputtime из системной службы - PullRequest
0 голосов
/ 09 июня 2011

Я пытаюсь написать системную службу, которая может определить, активен ли пользователь, а затем запустить процесс, если нет. Я использую сервис, потому что хочу, чтобы это работало, если пользователь вошел в систему или нет. Я пытался подключиться к API user32.dll и получить время с момента последнего ввода пользователя. Однако возвращаемое целое число всегда равно 0, поэтому я не думаю, что оно работает правильно. Разве это невозможно при работе в качестве системной службы?

1 Ответ

0 голосов
/ 09 июня 2011

Вы можете использовать getlastinputinfo на user32.dll

<DllImport("user32.dll")> _
Shared Function GetLastInputInfo(ByRef plii As LASTINPUTINFO) As Boolean
End Function

<StructLayout(LayoutKind.Sequential)> _
    Structure LASTINPUTINFO
    <MarshalAs(UnmanagedType.U4)> _
    Public cbSize As Integer
    <MarshalAs(UnmanagedType.U4)> _
    Public dwTime As Integer
End Structure

LASTINPUTINFO на MSDN

...