用于控制鼠标或键盘的程序

时间:2012-04-29 14:07:38

标签: c++ c windows keyboard mouse

我试图了解我编写的程序如何控制我正在运行的GUI程序。我不确定GUI程序是否必然会为开发人员公开API。因此,我认为最好的方法是让我的程序能够临时专门控制键盘和鼠标,或者与用户共享控件(只要用户不使用程序可以控制鼠标的资源) /键盘)。

我不知道该怎么做。我知道C / C ++,Python和Java。我主要想在Windows上实现这一点(我知道C#)。

我不确定我要查找的内容(就关键字而言)所以我不知道如何谷歌获取信息。任何帮助将不胜感激。

编辑:我想我已经提到我只是在寻找一种方法来控制鼠标和键盘。此代码的输入将来自另一段代码(希望)知道鼠标/键盘必须做什么。目前我只想学习如何使用预定义的控制命令来控制鼠标/键盘(例如移动到位置(100,100),单击,键入" abcd"等等。

3 个答案:

答案 0 :(得分:2)

如果你想伪造一些鼠标/键盘事件,请输入SendInput。

答案 1 :(得分:1)

如果您知道如何使用python编程,则有一个名为pyautogui的模块。 安装此模块的步骤如下: 如果您使用的是Windows,并且已安装python。 确保您已连接到互联网 打开CMD并键入:pip install pyautogui

答案 2 :(得分:0)

您可以使用system.windows.forms移动鼠标并在C#中编写键盘输入。 例如,以下代码使用system.windows.forms中的基本方法来移动鼠标并写入键盘输入

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//Make sure to add these as references in your project ahead of time
using System.Drawing;
using System.Windows.Forms;

namespace ConsoleApplication14
{
class Program
{
    static void Main(string[] args)
    {
        //The following code sets the cursor position to the point Xpos,Ypos 
//on the screen
        int Xpos = 0;
        int Ypos = 0;
        Cursor.Position = new Point(Xpos,Ypos);

        //The following writes the string KeyData to keyboard input
        string KeyData = "Hello World";
        SendKeys.SendWait(KeyData);
    }
}
}

你还需要System.Drawing用鼠标光标操纵点,所以不要忘记它!

这是一个精彩的视频,包含与鼠标和键盘移动相关的信息https://www.youtube.com/watch?v=48k9eyVsC-M

注意:虽然这些方法对于将鼠标移动到我的知识非常好,但它们不会导致鼠标点击,因此您需要在其他地方进行研究以获取该信息

祝你好运!