`
wangqiang0151
  • 浏览: 17573 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

【C#】QQ消息自动发送代码

阅读更多

1、准备Windows API,是用C#开发的,所以要准备C#封装的Windows API。可以到以下地址下载:

C#版封装的Windows API,简体版+增加版,源码
http://bmpj.net/forum-viewthread-tid-461-fromuid-13.html

2、定义保存QQ聊天窗体的对象类

   

internal class QQChatWindows
    {
        private IntPtr _WindowHwnd = IntPtr.Zero;

        public IntPtr WindowHwnd
        {
            get { return _WindowHwnd; }
            set { _WindowHwnd = value; }
        }
        private string _Caption = String.Empty;

        public string Caption
        {
            get { return _Caption; }
            set { _Caption = value; }
        }
        public QQChatWindows(IntPtr windowhwnd, string caption)
        {
            _WindowHwnd = windowhwnd;
            _Caption = caption;
        }
    }

3、遍历QQ聊天窗体

private void EnumQQChatWindows()
        {
            this.listQQWindows.Items.Clear();
            this._QQListWindows.Clear();
            NativeMethods.EnumDesktopWindows(IntPtr.Zero, new NativeMethods.EnumDesktopWindowsDelegate(EnumWindowsProc), IntPtr.Zero);
        }

        private bool EnumWindowsProc(IntPtr hWnd, uint lParam)
        {
            string qqproname = this.GetProcessName(hWnd);
            StringBuilder className = new StringBuilder(255 + 1); //ClassName 最长
            NativeMethods.GetClassName(hWnd, className, className.Capacity);

            if (!qqproname.Equals(String.Empty) && qqproname.Equals("QQ") && className.ToString().Equals("TXGuiFoundation"))
            {
                StringBuilder caption = new StringBuilder(NativeMethods.GetWindowTextLength(hWnd) + 1);
                NativeMethods.GetWindowText(hWnd, caption, caption.Capacity);
                if (!caption.ToString().Equals(String.Empty) && !caption.ToString().Equals("TXFloatingWnd") && !caption.ToString().Equals("TXMenuWindow") && !caption.ToString().Equals("QQ2011"))
                {
                   
                    QQChatWindows qqchat = new QQChatWindows(hWnd, caption.ToString());
                    this._QQListWindows.Add(qqchat);

                    this.listQQWindows.Items.Add(caption);
                }

            }
            return true;

        }

        public string GetProcessName(IntPtr hWnd)
        {
            try
            {
                string processname = String.Empty;
                int proid = 0;
                uint threadid = NativeMethods.GetWindowThreadProcessId(hWnd, out proid);
                if (threadid > 0 && proid > 0)
                {
                    Process pro = Process.GetProcessById(proid);
                    processname = pro.ProcessName;

                }

                return processname;
            }
            catch
            {
                return String.Empty;
            }
        }

4、循环自动发送QQ消息

    

private bool SendQQMsg(IntPtr hWnd, string qqcaption, string sendtext)
        {
            try
            {
                NativeMethods.ShowWindow(hWnd, NativeMethods.ShowWindowCommands.Normal);

                NativeMethods.BringWindowToTop(hWnd);

                SendKeys.SendWait(sendtext);

                SendKeys.SendWait("^{ENTER}");   //CTRL+ENTER
                return true;
            }
            catch 
            {
                return false;
            }

        }

源码下载:

百木QQ信息自动发送器 源代码,大家可以完善!!
http://bmpj.net/forum-viewthread-tid-498-fromuid-13.html

0
4
分享到:
评论

相关推荐

    C# QQ机器人,群消息推送

    QQ机器人是一种基于特定编程语言(本例中是C#)创建的应用程序,它能够自动处理QQ平台上的各种交互,如接收和发送消息、管理群聊等。C# QQ机器人是利用腾讯提供的QQ API或者第三方库来实现自动化操作的。本文将深入...

    QQ自动发送消息器

    QQ自动发送消息器是一款基于C#和.NET框架开发的应用程序,设计用于自动化发送QQ消息。在深入了解这个系统之前,我们先来理解一下涉及到的核心技术及其原理。 1. **C#编程语言**: C#是微软公司推出的一种面向对象...

    C# QQ邮件发送代码 测试成功

    9. **示例代码**:实际的C# QQ邮件发送代码可能如下所示: ```csharp using System; using System.Net; using System.Net.Mail; public class EmailSender { public static void Main() { MailMessage mail = ...

    C# QQ消息发送器源码,调用系统API

    本项目“C# QQ消息发送器源码”旨在教你如何利用C#调用系统API来模拟键盘事件,从而实现自动发送QQ消息的功能。这对于自动化测试、脚本编写或者个人项目开发都有一定的价值。 首先,我们要理解什么是系统API。API,...

    QQ自动登陆器(C#源码下载)

    在编写QQ自动登录器时,开发者会使用C#的类库来处理网络通信和UI设计。 网络编程方面,C#提供了System.Net命名空间,其中包含了用于HTTP、FTP等协议的类,如WebClient或HttpClient,它们可以用来发送HTTP请求并接收...

    c# 2016QQ自动登录程序

    在本文中,我们将深入探讨如何使用C#编程语言创建一个2016QQ自动登录程序。这个程序的核心机制是利用Windows API(应用程序接口)来获取QQ主程序的窗体句柄,然后通过坐标定位到输入框,并使用虚拟键盘输入账号和...

    QQ自动登录器C#全代码

    在QQ自动登录器项目中,C#的类、对象和方法等概念是基础。开发者会创建一个代表QQ登录界面的类,包含输入框(TextBox)和按钮(Button)等控件,这些控件的事件处理程序就是C#中的方法,如点击按钮触发的事件。 在...

    发送给QQ的消息

    这些工具或脚本能够模拟键盘输入和鼠标点击,实现自动发送消息的功能。 4. **编程语言应用**:实现以上功能通常需要一定的编程技能,常见的语言如Python、C#、Java等都可以用来编写这类程序。例如,Python可以通过...

    C# Windows Api 自动登录QQ号码

    在本文中,我们将深入探讨如何使用C#编程语言结合Windows API来实现自动登录QQ号码的功能。这个过程涉及到了几个关键的技术点,包括Windows API的调用、进程管理和自动化控制。 首先,C#本身并不直接支持对操作系统...

    c#编写的QQ代码娱乐版

    此外,考虑到QQ的社交特性,开发者可能还使用了C#的数据绑定和事件驱动编程,使得用户界面(UI)能实时响应数据变化,例如当收到新消息时自动更新聊天窗口。 总的来说,这个“C#编写的QQ代码娱乐版”项目展示了C#在...

    C#发送QQ邮件

    同时,为了保护用户隐私,QQ邮箱的授权码通常是一次性的,需要用户手动获取,这在自动发送邮件时可能需要额外的用户交互。 提供的"WebTools"文件可能包含了一些帮助工具或示例代码,可以结合这些资源进一步优化你的...

    QQ自动回复C#源码

    综上所述,QQ自动回复C#源码涉及了C#编程、.NET框架、网络通信、API接口调用、JSON解析、多线程编程、事件驱动、日志记录、用户配置以及测试等多个方面,涵盖了软件开发的核心技术。开发者可以通过学习和理解这些...

    C#版简易QQ程序代码以及相关资料

    【C#版简易QQ程序代码】是一个基于C#编程语言实现的、模仿QQ基础功能的软件项目。C#是微软公司推出的一种面向对象的、运行于.NET Framework之上的高级编程语言,它以其强大的类型系统、丰富的库支持和高效的运行环境...

    C#版QQ自动登录器

    QQ自动登录器是一款基于C#编程语言开发的实用工具,旨在简化用户登录QQ的过程,提供自动化、便捷的登录体验。C#是微软公司推出的一种面向对象的、运行于.NET Framework之上的高级编程语言,它拥有丰富的类库和强大的...

    C#版QQ机器人组件含示例程序

    QQ机器人是通过模拟QQ客户端的行为,与QQ服务器进行通信,从而实现接收和发送消息、处理各种事件(如好友请求、群消息等)的功能。在C#中,这通常涉及到对TCP/IP协议的理解和使用,因为QQ通信基于TCP连接。开发者...

    C#.net发送邮件完整源代码(DEMO完整版)

    在C#.NET编程环境中,发送电子邮件是一项常见的任务,尤其对于开发者来说,可能需要构建自动通知、用户注册验证或数据报告等功能。本资源提供了一个完整的C#.NET发送邮件的DEMO,适用于Visual Studio 2008,且包含了...

    C#开发的QQ机器人,适用于任意版本

    在本项目中,C#被用来创建一个能够自动发送和接收消息、处理各种事件的QQ机器人。 首先,QQ机器人的核心功能是实现与QQ客户端的通信。这通常涉及到对腾讯提供的QQ协议的深入理解和实现,包括登录验证、心跳包维持...

    人工智能-项目实践-C#-一个使用c#编写,基于onebot标准的QQ机器人.zip

    4. **代码实现**:阅读和理解项目中的C#源码,了解如何处理接收到的消息,如何构造和发送回复,以及如何实现特定功能。 5. **测试与调试**:在本地运行机器人,通过模拟QQ消息进行测试,观察机器人响应是否符合预期...

    QQ自动登陆代码 c#语言

    下面我们将详细探讨如何用C#编写QQ自动登录的代码,以及相关的技术要点。 1. **网络通信**:QQ自动登录首先需要与腾讯的服务器进行网络通信。这涉及到HTTP或HTTPS协议,以及可能的TCP/IP编程。C#中的`System.Net`...

Global site tag (gtag.js) - Google Analytics