我正在使用此代码从Windows应用程序获取本地空闲时间 但是当我在服务上使用它时,它不会返回活动用户空闲时间
function IdleTime: DWord;
var
LastInput: TLastInputInfo;
begin
LastInput.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(LastInput);
Result := (GetTickCount - LastInput.dwTime) DIV 1000;
end;
任何想法?
提前致谢
答案 0 :(得分:2)
您的服务在会话0中的非交互式桌面中运行,因此无法访问有关交互式桌面的信息。
您需要在交互式桌面中运行进程才能获取该信息。我想你可以使用IPC机制将它传递给你的服务。即使您可以参加会议0,您也会对信息做什么,我不确定。会议是孤立的。