소프트웨어개발/Delphi
[델파이] 메신저 같은 프로그램의 자리비움 체크
곽코딩
2014. 5. 21. 11:00
반응형
예전에는 자리비움 (키보드/마우스를 일정시간 사용하지 않고 있는 상태) 기능을 구현하기 위해
훅 (HOOK) 을 이용한 DLL을 만들어 체크하였으나...
윈도우 2000 이후로 지원하는 GetLastInputInfo 덕분으로 여러모로 간단하게 자리비움 기능을 처리할 수 있다.
uses Windows;
class function GetSecondsIdle: DWORD;
var
LII: TLastInputInfo;
begin
LII.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(LII);
Result := (GetTickCount - LII.dwTime) div 1000;
end;
이 함수를 이용해서 컴퓨터의 유휴시간을 초로 구해서 자리비움을 구현하자.
(간단하게 1초짜리 타이머를 돌려서 유휴시간과 비교해가면서 체크하면 됨)