日期:2014-05-17  浏览次数:20999 次

WinAPI的mouse_event如何模拟鼠标点击?有问题源码 谢谢

        uint MOUSEEVENTF_MOVE = 0x0001;
        uint MOUSEEVENTF_LEFTDOWN = 0x0002;
        uint MOUSEEVENTF_LEFTUP = 0x0003;

        [DllImport("user32.dll")]
        private static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, uint dwExtraInfo);
        private void button1_Click(object sender, EventArgs e)
        {
            mouse_event(MOUSEEVENTF_LEFTDOWN, 370, 400, 0, 0);
            mouse_event(MOUSEEVENTF_LEFTUP, 370, 400, 0, 0);
            //为什么我上面这样,实现不了鼠标的单击?反倒搞得我的鼠标不见了
        }

那正确的模拟鼠标单击是要怎么做?
谢谢

------解决方案--------------------
用sendmessage win32 api

http://www.jb51.net/article/21991.htm
------解决方案--------------------
mouse_event发送的坐标是针对屏幕的,不是自己程序的,要区分这个,另外就是点击目标要处于活动状态