public const int WM_LBUTTONDOWN = 0x201;
public const int WM_LBUTTONUP = 0x202;[DllImport("user32.dll", EntryPoint="SendMessage")]
public static extern int SendMessage (
int hwnd,
int wMsg,
int wParam,
ref int lParam
);            
            
public static void SendClick(Control ctrl)
{
     if (ctrl!= null)
     {
         SendMessage(receiver.Handle,WM_LBUTTONDOWN,0,0);
         SendMessage(receiver.Handle,WM_LBUTTONUP,0,0);
               
     }    
}    试试。

解决方案 »

  1.   

    一个外部应用程序......——————
    sorry 。
      

  2.   

    private const UInt32 WM_LBUTTONDOWN = 0x201;
    private const UInt32 WM_LBUTTONUP = 0x202;
            
                    
    [DllImport("user32.dll")]
    private static extern int SendMessage(IntPtr handle, UInt32    message,
    int wParam,
    int lParam);
                
    [DllImport("user32.dll", EntryPoint="FindWindowEx")]
    public static extern IntPtr FindWindowEx (
    IntPtr hWnd1,
    IntPtr hWnd2,
    string lpsz1,
    string lpsz2
    );
    [DllImport("user32.dll", EntryPoint="FindWindow")]
    public static extern IntPtr FindWindow (
    string lpClassName,
    string lpWindowName
    );public static void SendClick(IntPtr handle)
    {
         SendMessage(handle,WM_LBUTTONDOWN,0,0);
         SendMessage(handle,WM_LBUTTONUP,0,0);  
         ......  
    }  
    ......public void InvokeSimulateMouseClick()
    {
      IntPtr hWindow
         =MessageSender.FindWindow "WindowsForms10.Window.8.app3","YourAimForm");
      IntPtr hCtrl 
         = MessageSender.FindWindowEx(hWindow,new IntPtr   (0),"WindowsForms10.BUTTON.app3","button1");
      MessageSender.SendClick(hCtrl);
    }用到SPY++找到你想要模拟鼠标点击的对象的类名和其实例名称。
      

  3.   

    The123(在我地盤這 伱就得聽我的) :
        谢谢你的解答,可是,我要点击的地方没办法得到句柄怎么办呢?而且,如何将要点击的位置发送给应用程序呢?
      

  4.   

    谢谢各位,终于搞定了,其实很简单,不知道为什么会走那么多弯路,用PostMessage 就可以实现了,只是要把坐标值也发送给程序用MAKELPARAM可以实现传递鼠标的坐标,简单把源码列一下吧:
    int WM_LBUTTONDOWN =  0x201;
    int WM_LBUTTONUP =  0x202;
    int hwnd = FindWindow( "类名", "标题" );
    PostMessage( hwnd, WM_LBUTTONDOWN, 1, MAKELPARAM( 700, 530) );
    PostMessage( hwnd, WM_LBUTTONUP, 0, MAKELPARAM( 700, 530) );
    用SPY++来追踪程序事件,非常好用!