C# 基于c语言的windows窗体鼠标左键语音识别

C# 基于c语言的windows窗体鼠标左键语音识别,c#,mouse,speech-recognition,C#,Mouse,Speech Recognition,我正在尝试在windows窗体中编写鼠标左键单击的代码。当我说“左键单击”时,我想在屏幕上的任何位置单击鼠标左键。我尝试了一些代码,但它给出了错误 代码如下: public Form1() { InitializeComponent(); this.KeyPreview = true; this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDo

我正在尝试在windows窗体中编写鼠标左键单击的代码。当我说“左键单击”时,我想在屏幕上的任何位置单击鼠标左键。我尝试了一些代码,但它给出了错误 代码如下:

public Form1()
    {
        InitializeComponent();


        this.KeyPreview = true;
        this.KeyDown += new    System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);


        var Form1 = new Form();
        Form1.Location = new Point(50, 50);

        Form1.AutoSize = true;
        Form1.Click += new EventHandler(Form1_Click);
        this.Controls.Add(Form1);
    }

    [System.Runtime.InteropServices.DllImport("user32.dll")]
    public static extern void mouse_event(int dwFlags, int dx, int dy, int  cButtons, int dwExtraInfo);

    public const int MOUSEEVENTF_LEFTDOWN = 0x02;
    public const int MOUSEEVENTF_LEFTUP = 0x04;


    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        SimulateLeftClick();
    }


    private void SimulateLeftClick()
    {
        int xpos = Cursor.Position.X;
        int ypos = Cursor.Position.Y;
        mouse_event(MOUSEEVENTF_LEFTDOWN, xpos, ypos, 0, 0);
        mouse_event(MOUSEEVENTF_LEFTUP, xpos, ypos, 0, 0);
    }
case "left click":
                int xpos = Cursor.Position.X;
                int ypos = Cursor.Position.Y;
                mouse_event(MOUSEEVENTF_LEFTDOWN, xpos, ypos, 0, 0);
                mouse_event(MOUSEEVENTF_LEFTUP, xpos, ypos, 0, 0);
                break;

   private void Form1_Click(object sender, EventArgs e)
    {

        MessageBox.Show("Left Click simulated");
    }

当我运行此程序时,出现一个错误,使顶级控件无法添加到控件中。在上述程序中的this.Controls.AddForm1。因此,请任何人给我一个解决方案

顶级控件定义为不由另一个Windows窗体控件作为父控件的父控件。通常,这是包含控件的最外层表单

在您的情况下,似乎Form1是顶级控件。删除该行:

 this.Controls.Add(Form1);

不能将顶级控件的窗体添加到窗体或任何其他控件中。这就是你的错误所在。@otiel实际上,我想在打开powepoint演示文稿后单击鼠标左键。在这里,我根据语音命令控制powerpoint演示文稿。那时我的c程序必须最小化。我只能在屏幕上看到powerpoint演示文稿。那么我如何在powerpoint演示文稿上单击鼠标左键。