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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM