티스토리 뷰

델파이에서 키보드 나 마우스 입력이 일정 시간동안 시스템에 발생 되지 않을 때 특정 기능(로그아웃 등)을


하려면 다음과 같이 할 수 있다.


일단 Timer를 폼에 떨어 트려 놓고 지연시간을 얻는 함수를 만든다.


function Form1.SecondsIdle: Cardinal;
var liInfo: TLastInputInfo;
begin
    liInfo.cbSize := SizeOf(TLastInputInfo);
   GetLastInputInfo(liInfo);

   Result := (GetTickCount - liInfo.dwTime) div 1000;
end;


타이머의 Timer 이벤트에서 지연시간이 일정시간 이상이 되면 특정 기능을 처리 한다.

procedure Form1.Timer1Timer(Sender: TObject);
begin
    if SecondsIdle >= 1800 then begin   // 30분
        Timer1.Enabled := false;

        // 특정 기능 처리
end;
댓글
댓글쓰기 폼