GetCursorPos 와 GetAsyncKeyState 함수를 주기적으로(간간히) 호출하는것으로 가능하리라 봅니다만,
시스템에 무리를 주지 않는 상황에서 꽤 자주 호출하고 싶다면 Application->OnIdle 에 등록해 두면 되겠죠.
장성호 님이 쓰신 글 :
: 음...
:
: 있잖아요
:
: 방법1.
: 컴퓨터를 사용중이라면 마우스위치가 계속 바뀌지 않을까요?
: 타이머를 이용하여 마우스 위치가 일정시간 이상 고정되어있다면 자리비움으로 하고
: 다시 마우스 위치가 변경된다면 .. 온라인으로 변경하면 되겠죠.
:
:
: 방법2.
: 그런데 어떤사람은 마우스를 전혀사용하기 않고 문서작성만 키보드만을 이용하여 몇시간째 하고있다면?
: 어쩔수 없이 후킹을 이용해야 겠죠
: 그런데 후킹을 꼭 dll을 이용해야 하는것인가?
:
: 꼭 그렇게 하지 않아도 된다면 그럴수 있는 방법이 있습니다.
: 저도 후킹을 별로 해보지 않아서 잘모르지만..
:
: 후킹의 종류 중에 WH_JOURNALRECORD 는 메세지큐에 들어오는
: 키보드와 마우스에 대해 후킹하는것으로 꼭 dll을 쓰지 않아도 되는 것입니다.
:
: 아래 링크를 참조하시면 WH_JOURNALRECORD 후킹으로
: 마우스를 후킹하는 샘플이 있습니다.
: 문론 keyboad도 가능하구요
:
: http://www.delphitricks.com/source-code/windows/trap_mouse_events_outside_of_my_application.html
:
:
: 그럼..
:
:
:
:
: 아제나 님이 쓰신 글 :
: : 메신져에 보면 자리비움 기능이 있잖아요.
: :
: : 보통은 키보드, 마우스 후킹 프로세스를 등록해서 처리하는데,
: :
: : 후킹 프로세스를 등록하지 않는 방법으로 구현할 방법을 찾고 있습니다.
: :
: : 아무래 생각해도 좋은 아이디어가 떠오르지 않네요.
: :
: : 혹시 명안을 가지고 계신 분 또는 다른 방법으로 해결하신 분이 계신지 알고 싶습니다.
|