Как узнать, находится ли состояние системы в режиме ожидания и т.д. в vb6 - PullRequest
3 голосов
/ 15 января 2009

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

1 Ответ

4 голосов
/ 17 января 2009

Вот как я реализовал эту функциональность несколько лет назад. Функция fnIdleTime сообщит вам, сколько секунд прошло с тех пор, как пользователь коснулся мыши или клавиатуры.

Public Declare Function timeGetTime Lib "WINMM.DLL" () As Long

Private Type LASTINPUTINFO
  cbSize As Long
  dwTime As Long
End Type

Public Declare Function GetLastInputInfo Lib "user32.dll" (plii As LASTINPUTINFO) As Long

Public Function fnIdleTime() As Long

  Dim lii As LASTINPUTINFO

  lii.cbSize = Len(lii)

  If (GetLastInputInfo(lii) > 0) Then
    fnIdleTime = (timeGetTime - lii.dwTime) \ 1000
  End If

End Function
...