德尔福:从服务中获取活动用户空闲时间



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

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

知道吗?

提前致谢

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

您需要在交互式桌面中运行进程才能获取该信息。我想你可以使用IPC机制将其传递给你的服务。即使你能得到它,你也会用这些信息做什么,我不确定。会话是隔离的。

最新更新