要想在屏幕的指定的绝对位置有点击事件,比如(100,100)处,必须加MOOSE_EVENTF_ABSOLOTE 参数。即:mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP or MOOSE_EVENTF_ABSOLOTE , 100&, 100&, cButt, dwEI还在在原处点击,不在(100,100)处,是不是还有别的什么没有设置
谢谢大家了   

解决方案 »

  1.   


       老大,我拜托你看清楚我给你的有关mouse_event 的文档,其中有一句:“如果指定了MOWSEEVENTF_ABSOLOTE值,则dX和dy含有标准化的绝对坐标,其值在0到65535之间。事件程序将此坐标映射到显示表面。坐标(0,0)映射到显示表面的左上角,(6553,65535)映射到右下角。” 也就是说,(100,100)与鼠标原在点的间距极小,所以你根本没分辨出鼠标的点击事件是在那里发生的!要想有明显的,你要换个大点的值!!!!!
       另外,为什么不给分???
      

  2.   

    DX,DY乘上一个比例传值,去掉MOUSEEVENTF_LEFTUP ,
    改为如下试一下:
    mouse_event MOUSEEVENTF_LEFTDOWN  or MOOSE_EVENTF_ABSOLOTE , 100&*DxScale, 100&*DyScale, cButt, dwEI
      

  3.   

    uguess(uguess) 
    老兄呀
    我真的没有成功过,
    你在自己的机器上试试,我不骗你,那个确定绝对位置一点用也没有
      

  4.   

    这还不简单,首先确定屏幕的分辨率,有API可用,比如是1024X768
    那么mouse_event(...,100*65535/1024,100*65535/768,...)绝对可以!我主页上的程序就是这样写的,一点问题没有。http://nowcan.yeah.net
      

  5.   

        我真是服了你啦!
     
        我不知道你是怎么用的,我来告诉你吧!
        新建一个工程,在窗体上放一个CommandButton,然后把下面的代码拷入,运行。不要用鼠标点CommandButton,按“回车键”,就看到效果拉。把鼠标放到不同的地方试试。
    Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
    Const MOUSEEVENTF_LEFTDOWN = &H2
    Const MOUSEEVENTF_LEFTUP = &H4
    Const MOUSEEVENTF_MIDDLEDOWN = &H20
    Const MOUSEEVENTF_MIDDLEUP = &H40
    Const MOUSEEVENTF_MOVE = &H1
    Const MOUSEEVENTF_ABSOLUTE = &H8000
    Const MOUSEEVENTF_RIGHTDOWN = &H8
    Const MOUSEEVENTF_RIGHTUP = &H10Private Sub Command1_Click()
            'Simulate a mouseclick on the cursor's position
            mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 100 * 65535 / 1024, 100 * 65535 / 768, 0&, dwEI
    End Sub
    Private Sub Form_Load()
        Me.Move 0, 0, Screen.Width, Screen.Height
    End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)  MsgBox "X:" & CStr(X) & "   Y:" & CStr(Y)
    End Sub
      

  6.   

    我把QQ留下,uguess(uguess) 找我,我不知道是你错,还是我错,这样说不清,上QQ说
    8163852
      

  7.   

    别用mouse_event函数直接getcursorpos再windowfrompoint 得到窗口句柄再 sendmessage不好吗?