zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    20165322 第九周 实现mypwd
    20165322 第七周 mybash 的实现
    2018-2019-1 20165322 实验三 实时系统
    2018-2019-1 20165318 20165322 20165326 实验二 固件程序设计
    2018-2019-1 20165322 《信息安全系统设计基础》第六周学习总结
    codeblocks汉化
    2019-2020-1 20175334 实验五 《通讯协议设计》实验报告
    2019-2020-1 20175334 20175322 20175315 实验四 外设驱动程序设计
    2019-2020-1 20175315 20175322 20175334 实验三 实时系统
    2019-2020-1 20175334 20175322 20175315 实验二 固件程序设计
  • 原文地址:https://www.cnblogs.com/fengsiyi/p/3681364.html
Copyright © 2011-2022 走看看