2009-02-06 35 views
0

我们正在研究一个模块,其中我给了xpos,ypos,windowhandle。 现在我想要做的是我想提高(xpos, ypos, windowhandle)上相应输入的事件。如何通过提供X,Y和Windowhandle参数来手动引发事件?

例如:

给出的输入是选择一个文件意味着它将通过我的模块自动选择一个文件。

00010086 PWM_LBUTTONDBCLK fwKeys:MK_LBUTTON xPos:273yPos:354 

该事件将如上所示。

回答

2

伪代码。您可以修改以满足您的需要......

using System; 
using System.Windows.Forms; 
using System.Runtime.InteropServices; 

public class Form1 : Form 
{ 
    [DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)] 
    public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo); 

    private const int MOUSEEVENTF_LEFTDOWN = 0x02; 
    private const int MOUSEEVENTF_LEFTUP = 0x04; 
    private const int MOUSEEVENTF_RIGHTDOWN = 0x08; 
    private const int MOUSEEVENTF_RIGHTUP = 0x10; 

    public Form1() 
    { 
    } 

    public void DoMouseClick() 
    { 
     //Call the imported function with the cursor's current position 
     mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0); 
    } 

    //...other code needed for the application 
} 
+0

直通代码我需要打开文件。为此我可以给xpos,ypos ....有可能...... – 2009-02-06 08:35:20

相关问题