¿

콺 ŷ ¥:2022-3-15 10:30:27 ȸ:661
ۼ : daypark
Ʈ : 1200
: 2020-02-14 10:42:05
湮Ƚ : 253
177, 29
Ұ : ڱҰ ԷϽʽÿ.
ۼ

Ű ŷϴ ϴ. 
ť ޽ ־ DLL  ŷ ϰ
޽ 鿩 ֽϴ.
Ϻ ޽ Ծ ְ. 

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE g_hInst;
HWND hWndMain;
LPCTSTR lpszClass = TEXT("MouseHookLL");

int APIENTRY WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance
    , _In_ LPSTR lpszCmdParam, _In_ int nCmdShow)
{
    HWND hWnd;
    MSG Message;
    WNDCLASS WndClass;
    g_hInst = hInstance;

    WndClass.cbClsExtra = 0;
    WndClass.cbWndExtra = 0;
    WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
    WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    WndClass.hInstance = hInstance;
    WndClass.lpfnWndProc = WndProc;
    WndClass.lpszClassName = lpszClass;
    WndClass.lpszMenuName = NULL;
    WndClass.style = CS_HREDRAW | CS_VREDRAW;
    RegisterClass(&WndClass);

    hWnd = CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
        NULL, (HMENU)NULL, hInstance, NULL);
    ShowWindow(hWnd, nCmdShow);
    hWndMain = hWnd;

    while (GetMessage(&Message, NULL, 0, 0)) {
        TranslateMessage(&Message);
        DispatchMessage(&Message);
    }
    return (int)Message.wParam;
}

HHOOK hMouseHookLL = NULL;
TCHAR MesName[111];
TCHAR log[256];
TCHAR output[65000];
DWORD lastMsg = 0;
LRESULT CALLBACK MouseHookProcLL(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (nCode >= 0) {
        MSLLHOOKSTRUCT* ms = (MSLLHOOKSTRUCT*)lParam;
        lstrcpy(MesName, "Other");
        if (wParam == WM_LBUTTONDOWN) lstrcpy(MesName, "LDown");
        if (wParam == WM_LBUTTONUP) lstrcpy(MesName, "LUp");
        if (wParam == WM_RBUTTONDOWN) lstrcpy(MesName, "RDown");
        if (wParam == WM_RBUTTONUP) lstrcpy(MesName, "RUp");
        if (wParam == WM_MOUSEMOVE) lstrcpy(MesName, "Move");
        if (wParam == WM_MOUSEWHEEL) lstrcpy(MesName, "Wheel");

        wsprintf(log, "%s (%d, %d), flag=%x, time = %d\r\n",
            MesName, ms->pt.x, ms->pt.y, ms->flags, ms->time);
        // Move ι ʴ´. 
        if (wParam != WM_MOUSEMOVE || lastMsg != WM_MOUSEMOVE) {
            lstrcat(output, log);
            InvalidateRect(hWndMain, NULL, TRUE);
        }
        lastMsg = WM_MOUSEMOVE;

        // 0 ƴ Ͽ 콺 Ŭ Ծ . 
        // ȭ » 콺 Ŭ Ѵ. 
        if (ms->pt.x < 200 && ms->pt.y < 200 && (wParam == WM_RBUTTONDOWN || wParam == WM_RBUTTONUP)) {
            return 1;
        }
    }
    return CallNextHookEx(hMouseHookLL, nCode, wParam, lParam);
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
    HDC hdc;
    PAINTSTRUCT ps;
    RECT crt;

    switch (iMessage) {
    case WM_CREATE:
        hMouseHookLL = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcLL, g_hInst, NULL);
        return 0;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        GetClientRect(hWnd, &crt);
        DrawText(hdc, output, -1, &crt, 0);
        EndPaint(hWnd, &ps);
        return 0;
    case WM_DESTROY:
        if (hMouseHookLL != NULL) UnhookWindowsHookEx(hMouseHookLL);
        PostQuitMessage(0);
        return 0;
    }
    return(DefWindowProc(hWnd, iMessage, wParam, lParam));
}

(200, 200) » ȭ Ŭ ˾ ޴ ʵ ߽ϴ. 
̷ 뵵ٴ ַ ޽ 뵵θ ° ٶմϴ.

  밤길출장샵 | 김제콜걸샵 | 안성출장만남 밀양출장안마✓전주콜걸샵✓원주출장마사지 논산출장샵✓원주출장안마✓용산콜걸샵 추풍령면마사지 도원동콜걸 계성면만남후기 용문동성인맛사지 공범자들 로빈 망 학용동번개만남 케겔기구 데이트메이트 노원출장안마 고민정 더블유이출장마사지 섹시한사진

강남역카페 봄네일아트 육아소통해요 홍대버스킹 주말시작 꽃길 가을네일 집에서하는부업✓가상화폐 봇 만들기✓재테크 포트폴리오 재택부업 알바 | 투잡 회사에서 | 직장인이나 주부에게 부업 셀카타임 데이트하기좋은장소 영주콜걸샵 35금동영상 화성출장샵 성인용품판매

Ϻ Ű ũ


αϼž ֽϴ.