我有一个后台程序,我想通后台程序设置鼠标光标,不管光标在哪个程序或桌面。可以设置吗?我用SetCursor(),不能设置成功。

解决方案 »

  1.   

    暂时只想到用全局的鼠标钩子WH_MOUSE来对WM_MOUSEMOVE消息来进行过滤,再用SetCursor(LoadCursor(NULL, IDC_ARROW));
      

  2.   

    看来不仅是WM_MOUSEMOVE消息,所以鼠标消息都处理吧
      

  3.   

    设置系统标准的鼠标形状就可以了,控制面板的鼠标设置了有,想要编程实现自己查看下它调用的API或者信息吧,我不清楚了.
      

  4.   

    SetSystemCursor 光标好像是OCR_IBEAM
      

  5.   

    我用全局勾子试一下,我是设置为只拦截MouseMove消息时设置光标,效果表现,在move时,鼠标光标一直在不停来回变换,当我lbuttondown时,光标改成我要设置的形状(并一直持续)。不知道这是为什么,有人了setCursor设置光标的原理机制
      

  6.   

    HKEY_CURRENT_USER\Control Panel\Cursors下是系统鼠标的设置
    在你改光标之前保存其路径想恢复的时候再设回去
    hCursor = ::LoadImage(NULL, lpFileName, IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE | LR_DEFAULTCOLOR | LR_LOADFROMFILE  | LR_SHARED);
    lpFileName是路径