C#实现QQ自动化——消息模拟发送(1)

C#实现QQ自动化模拟消息发送,主要模拟鼠标左键点击,键盘模拟输入

第一步,打开visio studio,我这里用的是2015,新建一个winform项目


第二步,工具档托两个textbox控件到窗体,分别把name改成txtX,txtY


第三步,托一个label,把name改成lblPosition


第四步,托一个Timer控件到窗体,并为其生成tick事件,tick事件,用于显示鼠标当前的位置,显示在lblPosition控件上


第五步,托一个Textbox控件,一个Button控件,分别把name改成txtContent,btnSend。双击Button按钮生成点击事件。


简单的界面托完了开始撸代码,双击窗体的空白位置生成窗体加载事件。


窗体加载事件代码如下:

private void Form1_Load(object sender, EventArgs e)

{

this.timer1.Enabled = true;

this.timer1.Interval = 10;//timer控件的执行频率

}

然后写timer中的事件,显示在lblPosition控件上。timer事件代码如下:

private void timer1_Tick(object sender, EventArgs e)

{

this.lblPosition.Text = $"x:{Cursor.Position.X},y:{Cursor.Position.Y}";

}

先调试起来,看下效果



接着定义一个,鼠标定位到指定焦点的动作。代码如下:

[DllImport("user32.dll")]

private static extern int SetCursorPos(int x, int y);

代码全部如下,下一篇写,键盘模拟输入,鼠标模拟点击。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Runtime.InteropServices;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Automate.QQ

{

public partial class Form1 : Form

{

[DllImport("user32.dll")]

private static extern int SetCursorPos(int x, int y);

public Form1()

{

InitializeComponent();

}

private void timer1_Tick(object sender, EventArgs e)

{

this.lblPosition.Text = $"x:{Cursor.Position.X},y:{Cursor.Position.Y}";

}

private void btnSend_Click(object sender, EventArgs e)

{

SetCursorPos(Convert.ToInt32(txtX.Text), Convert.ToInt32(txtY.Text));

}

private void Form1_Load(object sender, EventArgs e)

{

this.timer1.Enabled = true;

this.timer1.Interval = 10;//timer控件的执行频率

}

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。