请问在delphi用SendMessage怎么发送一个鼠标消息,指定鼠标在某个窗口(32,32)处按下,指定坐标在sendmessage的参数里怎么写?谢谢!

解决方案 »

  1.   

    SendMessage(Form.Handle,WM_LBUTTONDOWN,MK_LBUTTON,Integer(@p));
      

  2.   

    // 按下
    SendMessage(Handle, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(32, 32));
    // 抬起
    SendMessage(Handle, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(32, 32));
      

  3.   

    procedure TForm1.btn1Click(Sender: TObject);
    begin
      SendMessage(Handle, WM_MOUSEMOVE, MK_LBUTTON, MakeLong(32, 32) );
    end;Compy From Windows SDKThe WM_MOUSEMOVE message is posted to a window when the cursor moves. If the mouse is not captured, the message is posted to the window that contains the cursor. Otherwise, the message is posted to the window that has captured the mouse. WM_MOUSEMOVE  
    fwKeys = wParam;        // key flags 
    xPos = LOWORD(lParam);  // horizontal position of cursor 
    yPos = HIWORD(lParam);  // vertical position of cursor 
     ParametersfwKeysValue of wParam. Indicates whether various virtual keys are down. This parameter can be any combination of the following values: Value Description
    MK_CONTROL Set if the CTRL key is down.
    MK_LBUTTON Set if the left mouse button is down.
    MK_MBUTTON Set if the middle mouse button is down.
    MK_RBUTTON Set if the right mouse button is down.
    MK_SHIFT Set if the SHIFT key is down.
     xPosValue of the low-order word of lParam. Specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area. yPosValue of the high-order word of lParam. Specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.  ResThe MAKEPOINTS macro can be used to convert the lParam parameter to a POINTS structure***********************************
     高级群号:16497064欢迎编程高手加入.
    ***********************************