Значение простоя системы не может быть рассчитано в Windows 7 с использованием службы Windows в C # - PullRequest
5 голосов
/ 01 апреля 2011

Я использовал упомянутый код здесь , чтобы вычислить время простоя системы через оконную службу. Но в Windows 7 и Vista я всегда получаю LastInputInfo.dwTime как ноль, по которому я не могу рассчитать время простоя системы. Я дал пример кода ниже.

 // If we have a value from the function
if (GetLastInputInfo(ref LastInputInfo))
{
    // Get the number of ticks at the point when the last activity was seen
    LastInputTicks = (int)LastInputInfo.dwTime;
    // Number of idle ticks = system uptime ticks - number of ticks at last input
    IdleTicks = systemUptime - LastInputTicks;
}

Когда я тестирую тот же код в приложении Windows, я получаю правильный dwTime. Мне нужно иметь правильное значение dwTime в моем сервисе для расчета правильного времени простоя системы.

Пожалуйста, помогите с некоторыми примерами

1 Ответ

2 голосов
/ 01 апреля 2011

Не думаю, что вы сможете использовать GetLastInputInfo в службе Windows на Windows 7. Речь идет не о коде, а об усилении службы в Vista и более поздних версиях.

Прочтите это: Изоляция службв сеансе 0 Windows Vista и Longhorn Server

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