여기 나오는 소스는 전역 키보드 후킹 하는 부분이다.
실제 필요한 부분은 GetAsyncKeyState(VK_XXXX) 부분이고,
눌려진 상태면 아마도 음수가 반환되는것 같다.


LRESULT __declspec(dllexport)__stdcall  CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
        int ScanCode    = (lParam >> 16) & 0x000000ff;                // 91번. 92번 일때가 WinKey 임.
        BOOL bPrevState  = (lParam >> 30) & 0x00000001;   // 0 이면 이전 키를 놓은 상태.
        BOOL bKeyUp      = (lParam >> 31) & 0x00000001;   // 0 이면 현재 누르기 시작한 상태.


        SHORT nPressLWin = GetAsyncKeyState(VK_LWIN);

        if ( nPressLWin < 0 )
        {
                if (ScanCode == 47)
                {
                        CString strTemp;
                        strTemp.Format("%d",ScanCode);
                        AfxMessageBox(strTemp);
                        ::SendMessage(hTargetWnd, WM_WINV, wParam, lParam);
                }
        }

        LRESULT RetVal = CallNextHookEx( hkb, nCode, wParam, lParam );        
        return  RetVal;
}
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 찬

트랙백 보낼 주소 :: http://blog.ggaman.com/trackback/392 관련글 쓰기

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


BLOG main image
속성을 알 수 없습니다. by

공지사항

카테고리

분류 전체보기 (881)
잡다한 글들 (203)
여행 (30)
문화생활 (48)
취미 (224)
나의 일 (43)
공부 (229)
재미 (103)
private (1)