Delphi:从服务获取活动用户空闲时间

时间:2014-01-06 22:08:04

标签: delphi winapi

我正在使用此代码从Windows应用程序获取本地空闲时间 但是当我在服务上使用它时,它不会返回活动用户空闲时间

function IdleTime: DWord;
var
  LastInput: TLastInputInfo;
begin
  LastInput.cbSize := SizeOf(TLastInputInfo);
  GetLastInputInfo(LastInput);
  Result := (GetTickCount - LastInput.dwTime) DIV 1000;
end;

任何想法?

提前致谢

1 个答案:

答案 0 :(得分:2)

您的服务在会话0中的非交互式桌面中运行,因此无法访问有关交互式桌面的信息。

您需要在交互式桌面中运行进程才能获取该信息。我想你可以使用IPC机制将它传递给你的服务。即使您可以参加会议0,您也会对信息做什么,我不确定。会议是孤立的。