델파이
키보드, 마우스 최종입력 알아내기
미스터몽키
2009. 11. 7. 14:29
메신저 등을 사용할 때 한동안 입력이 없으면 "자리비움" 표시를 합니다. 타이머 이벤트 또는 Application의 onIdle 이벤트에 넣어서 사용하면 되겠습니다. - 볼랜드포럼자료
##### 주의 - 정상언##### 테스트해본 결과 "타이머 이벤트" 를 사용하면 포커스가 해당 프로그래에 없어도 키보드 후킹을 하지만 Application onIdle은 해당 프로그램에 포커스가 있을때만 작동한다 |
function SecondsIdle: Cardinal;
var
liInfo: TLastInputInfo;
begin
liInfo.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(liInfo);
Result := (GetTickCount - liInfo.dwTime) div 1000;
end;
procedure TForm2.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean); //타이머이베트에 넣으면 포커스에 관계없이작동
begin
edit1.Text := inttostr(SecondsIdle);
end;