桌面(20,20)处有一图标(内部结构不清),只知它有一个功能,点击它能够自动计数,并送到外设当中去。现在我想实现一个功能:每隔10秒钟,发出一个鼠标点击消息(在(20,20)位置或在这个图标上),以让它自动记数,送到外设。
请高人们给个思路,有代码更好!
还想问一下,我在程序中发出的点击消息怎么让NT(我的系统是NT4)知道。这个hWnd应该指向什么?

解决方案 »

  1.   

    不明白是什么意思。
    你可以用mouse_event试试。
      

  2.   

    ::SendMessage(GetDesktopWindow(), WM_LBUTTONDOWN, MK_LBUTTON, 
    MAKEWORD(20, 20));一句话搞定。
      

  3.   

    还要一句话
    ::SendMessage(GetDesktopWindow(), WM_LBUTTONUP, MK_LBUTTON, 
    MAKEWORD(20, 20));
      

  4.   

    上面写得有点问题,应该是:
    ::SendMessage(::GetDesktopWindow(), WM_LBUTTONDBLCLK, MK_LBUTTON, MAKEWORD(20, 20));
      

  5.   

    oldworm(oldworm) 
    你的回答的那条语句只能使我在点击屏幕右下角的“开始”呀!
    我是想点击屏幕的中间任置的一个图标,
    MAKEWORD(20,20)这条语句只是把两个8位的数,抨成16位呀!
      

  6.   

    今天下午公司网络老是断,几分钟一次,抢时间发啊:)::SendMessage(::GetDesktopWindow(), WM_LBUTTONDBLCLK, MK_LBUTTON, MAKELONG(20, 20));MAKEWORD错了,应该是MAKELONG
      

  7.   

    具体位置你要自己确定
    然后用MAKELONG转化为消息参数
      

  8.   

    还是只能双击桌面右下角的"开始"。不知为什么不能调整到桌面上的任意位置?
    还有两个问题不清楚:
    ::GetDesktopWindow()得到桌面句柄,通过它是不是能够得到桌面的任何东西。
    MAKELONG,MAKEWORD,它只是将8,16位转换成16,32位,它和我桌面上的位置坐标有什么关系。