C#实现自动发送QQ消息
生活随笔
收集整理的這篇文章主要介紹了
C#实现自动发送QQ消息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、得打開需要發送的聊天窗口,最小化也可,聊天時不能是中文輸入法
2、然后AIO名就是窗口左上角的那個名稱,括號和QQ號不要,那個名稱可能是好友備注,群名稱,討論組名稱等。
3、發送消息要設置成按Enter鍵發送
4、想發圖片要先把圖片添加到表情,設置快捷鍵,而后把快捷鍵輸入到消息內容中即可
代碼:
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
namespace AutoSend
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//找窗體
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
//把窗體置于最前
[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
//拖動窗體
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MOVE = 0xF010;
public const int HTCAPTION = 0x0002;
private void btnSend_Click(object sender, EventArgs e)
{
int a = Convert.ToInt32(textBox1.Text);
sendMessage(a);
}
//發送消息
public void sendMessage(int num)
{
if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "")
{
MessageBox.Show("有些框框是空的!!!");
}
else
{
string aioName = textBox3.Text.Trim(); //AIO名
string info = textBox2.Text; //要發送的消息
string str = "";
IntPtr k = FindWindow(null, aioName); //查找窗口
if (k.ToString() != "0")
{
SetForegroundWindow(k); //把窗體置于最前
for (int i = 1; i <= num; i++)
{
str = i + ": " + info;
SendKeys.SendWait(str);
SendKeys.Send("{ENTER}");
}
}
else
{
MessageBox.Show("木有找到這個聊天窗口");
}
}
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Dispose();
this.Close();
}
//拖動窗體
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
ReleaseCapture();
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}
}
}
View Code
總結
以上是生活随笔為你收集整理的C#实现自动发送QQ消息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 独家!支付宝小程序技术架构全解析
- 下一篇: 技本功丨知否知否,Redux源码竟如此意