Узнайте, как долго работает Windows, и другие показатели - PullRequest
1 голос
/ 01 сентября 2009

Сохраняет ли Windows XP (и выше), сколько времени прошло ...

  • ... с момента загрузки системы?
  • ... работает с момента установки?
  • ... в часах / минутах с момента входа в систему текущего пользователя?
  • ... всего часов работы пользователя?

Спасибо.

Ответы [ 5 ]

4 голосов
/ 01 сентября 2009

На терминале беги systeminfo

Пример:

C:\WINDOWS>systeminfo

Host Name:                 ...
OS Name:                   Microsoft Windows XP Professional
OS Version:                5.1.2600 Service Pack 2 Build 2600
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Member Workstation
OS Build Type:             Multiprocessor Free
Registered Owner:          ...
Registered Organization:   ...
Product ID:                ...
Original Install Date:     17/04/2009, 10:23:23 AM
System Up Time:            0 Days, 0 Hours, 51 Minutes, 11 Seconds
System Manufacturer:       Dell Inc.
(etc...)

Я полагаю, что могут быть и другие способы найти такую ​​информацию. Например, PCWizard показывает более подробную информацию о дате установки, загрузках с момента установки, времени работы, времени с момента входа в систему и т. Д.

2 голосов
/ 01 сентября 2009

Вы можете использовать LsaGetLogonSessionData, чтобы получить данные о конкретном сеансе входа в систему, включая время, когда сеанс был запущен. Чтобы вызвать этот метод, вам нужен LUID - идентификатор сеанса входа. Вы можете получить список текущих LUID сеансов входа в систему, используя LsaEnumerateLogonSessions.

Если вы ищете данные для конкретного пользователя, вы можете посмотреть на члена UserName структуры SECURITY_LOGON_SESSION_DATA, возвращаемой LsaGetLogonSessionData.

Редактировать : Чтобы узнать время с момента запуска системы, используйте GetTickCount64 (), как упоминалось @jeffamaphone.

Остальные вы можете рассчитать по разнице между SECURITY_LOGON_SESSION_DATA.LogonTime и текущим временем.

1 голос
/ 01 сентября 2009

GetTickCount () делает то, что вы хотите, хотя это происходит каждые 49 дней или около того. Так что, да, используйте GetTickCount64 () .

1 голос
/ 01 сентября 2009

Вы можете увидеть, когда система запустилась, набрав в командной строке следующую команду

net statistics workstation

Вы получите вывод, подобный этому

Workstation Statistics for \\LAPTOP


Statistics since 8/31/2009 8:50:10 PM
0 голосов
/ 01 сентября 2009

psinfo от Sysinternals

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...