获取全局的鼠标形状

HCURSOR GetCurrentCursorHandle()

{

    POINT pt;

    HWND hWnd;

    DWORD dwThreadID, dwCurrentThreadID;

    HCURSOR hCursor = NULL;



    // Find out which window owns the cursor

    GetCursorPos(&pt);

    hWnd = WindowFromPoint(pt);



    // Get the thread ID for the cursor owner.

    dwThreadID = GetWindowThreadProcessId(hWnd, NULL);



    // Get the thread ID for the current thread

    dwCurrentThreadID = GetCurrentThreadId();



    // If the cursor owner is not us then we must attach to

    // the other thread in so that we can use GetCursor() to

    // return the correct hCursor

    if (dwCurrentThreadID != dwThreadID) {



        // Attach to the thread that owns the cursor

        if (AttachThreadInput(dwCurrentThreadID, dwThreadID, TRUE)) {



            // Get the handle to the cursor

            hCursor = GetCursor();



            // Detach from the thread that owns the cursor

            AttachThreadInput(dwCurrentThreadID, dwThreadID, FALSE);

        }

    } else

        hCursor = GetCursor();



    return hCursor;

}

画鼠标图

case WM_PAINT:

        {

            hdc = BeginPaint(hWnd, &ps);

            // TODO: 在此添加任意绘图代码...

            HICON icon = GetCurrentCursorHandle();

            //HICON icon = LoadCursor(NULL,IDC_HAND);

            DrawIcon(hdc,0,0,icon);



            EndPaint(hWnd, &ps);

            break;

        }

 

你可能感兴趣的:(获取)