求鼠标钩子及应用源码,可以获取指定窗体的鼠标位置,并可以控制鼠标移动 和 点击。希望高手给分源码,小弟初学。发送谢谢

解决方案 »

  1.   

    我觉得楼主的需求,完全不需要鼠标钩子,CreateRemoteThread到目标线程,在目标线程MouseEvent更方便
      

  2.   

    #include <windows.h>HHOOK g_hMouse=NULL;
    HHOOK g_hKeyboard=NULL;#pragma data_seg("MySec")
    HWND g_hWnd=NULL;
    #pragma data_seg()//#pragma comment(linker,"/section:MySec,RWS")
    /*HINSTANCE g_hInst;BOOL WINAPI DllMain(
      HINSTANCE hinstDLL,  // handle to the DLL module
      DWORD fdwReason,     // reason for calling function
      LPVOID lpvReserved   // reserved
    )
    {
    g_hInst=hinstDLL;
    }*/LRESULT CALLBACK MouseProc(
      int nCode,      // hook code
      WPARAM wParam,  // message identifier
      LPARAM lParam   // mouse coordinates
    )
    {
    return 1;
    }LRESULT CALLBACK KeyboardProc(
      int code,       // hook code
      WPARAM wParam,  // virtual-key code
      LPARAM lParam   // keystroke-message information
    )
    {
    if(VK_F2==wParam)
    {
    SendMessage(g_hWnd,WM_CLOSE,0,0);
    UnhookWindowsHookEx(g_hMouse);
    UnhookWindowsHookEx(g_hKeyboard);
    }
    return 1;
    }void SetHook(HWND hwnd)
    {
    g_hWnd=hwnd;
    g_hMouse=SetWindowsHookEx(WH_MOUSE,MouseProc,GetModuleHandle("Hook"),0);
    g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle("Hook"),0);
    }