我需要检测空闲时间,时间因为用户已经将任何东西输入到他们的机器中,所以我以前只为Windows制作了这个应用程序,这个功能非常出色: -
function IdleTime: DWord;
var
LastInput: TLastInputInfo;
begin
LastInput.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(LastInput);
Result := (GetTickCount - LastInput.dwTime) DIV 1000;
end;
但是,此功能在多设备应用程序上不起作用(据我所知)。我已经搞砸了一段时间了,并做了一些严厉的谷歌搜索无济于事。
目标操作系统是OS X和Windows。
答案 0 :(得分:2)
OSX上的GetLastInputInfo
相当于CGEventSourceCounterForEventType
。
见这里:Detecting user-activity on mac os x
此次通话的API界面位于:Macapi.CoreGraphics
因此,您需要将该单元添加到您的uses子句中。
如果您不熟悉Delphi下的OSX编程,请查看:https://delphihaven.wordpress.com