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
分享到:
相关推荐
QQ机器人是一种基于特定编程语言(本例中是C#)创建的应用程序,它能够自动处理QQ平台上的各种交互,如接收和发送消息、管理群聊等。C# QQ机器人是利用腾讯提供的QQ API或者第三方库来实现自动化操作的。本文将深入...
QQ自动发送消息器是一款基于C#和.NET框架开发的应用程序,设计用于自动化发送QQ消息。在深入了解这个系统之前,我们先来理解一下涉及到的核心技术及其原理。 1. **C#编程语言**: C#是微软公司推出的一种面向对象...
9. **示例代码**:实际的C# QQ邮件发送代码可能如下所示: ```csharp using System; using System.Net; using System.Net.Mail; public class EmailSender { public static void Main() { MailMessage mail = ...
本项目“C# QQ消息发送器源码”旨在教你如何利用C#调用系统API来模拟键盘事件,从而实现自动发送QQ消息的功能。这对于自动化测试、脚本编写或者个人项目开发都有一定的价值。 首先,我们要理解什么是系统API。API,...
在编写QQ自动登录器时,开发者会使用C#的类库来处理网络通信和UI设计。 网络编程方面,C#提供了System.Net命名空间,其中包含了用于HTTP、FTP等协议的类,如WebClient或HttpClient,它们可以用来发送HTTP请求并接收...
在本文中,我们将深入探讨如何使用C#编程语言创建一个2016QQ自动登录程序。这个程序的核心机制是利用Windows API(应用程序接口)来获取QQ主程序的窗体句柄,然后通过坐标定位到输入框,并使用虚拟键盘输入账号和...
在QQ自动登录器项目中,C#的类、对象和方法等概念是基础。开发者会创建一个代表QQ登录界面的类,包含输入框(TextBox)和按钮(Button)等控件,这些控件的事件处理程序就是C#中的方法,如点击按钮触发的事件。 在...
这些工具或脚本能够模拟键盘输入和鼠标点击,实现自动发送消息的功能。 4. **编程语言应用**:实现以上功能通常需要一定的编程技能,常见的语言如Python、C#、Java等都可以用来编写这类程序。例如,Python可以通过...
在本文中,我们将深入探讨如何使用C#编程语言结合Windows API来实现自动登录QQ号码的功能。这个过程涉及到了几个关键的技术点,包括Windows API的调用、进程管理和自动化控制。 首先,C#本身并不直接支持对操作系统...
此外,考虑到QQ的社交特性,开发者可能还使用了C#的数据绑定和事件驱动编程,使得用户界面(UI)能实时响应数据变化,例如当收到新消息时自动更新聊天窗口。 总的来说,这个“C#编写的QQ代码娱乐版”项目展示了C#在...
同时,为了保护用户隐私,QQ邮箱的授权码通常是一次性的,需要用户手动获取,这在自动发送邮件时可能需要额外的用户交互。 提供的"WebTools"文件可能包含了一些帮助工具或示例代码,可以结合这些资源进一步优化你的...
综上所述,QQ自动回复C#源码涉及了C#编程、.NET框架、网络通信、API接口调用、JSON解析、多线程编程、事件驱动、日志记录、用户配置以及测试等多个方面,涵盖了软件开发的核心技术。开发者可以通过学习和理解这些...
【C#版简易QQ程序代码】是一个基于C#编程语言实现的、模仿QQ基础功能的软件项目。C#是微软公司推出的一种面向对象的、运行于.NET Framework之上的高级编程语言,它以其强大的类型系统、丰富的库支持和高效的运行环境...
QQ自动登录器是一款基于C#编程语言开发的实用工具,旨在简化用户登录QQ的过程,提供自动化、便捷的登录体验。C#是微软公司推出的一种面向对象的、运行于.NET Framework之上的高级编程语言,它拥有丰富的类库和强大的...
QQ机器人是通过模拟QQ客户端的行为,与QQ服务器进行通信,从而实现接收和发送消息、处理各种事件(如好友请求、群消息等)的功能。在C#中,这通常涉及到对TCP/IP协议的理解和使用,因为QQ通信基于TCP连接。开发者...
在C#.NET编程环境中,发送电子邮件是一项常见的任务,尤其对于开发者来说,可能需要构建自动通知、用户注册验证或数据报告等功能。本资源提供了一个完整的C#.NET发送邮件的DEMO,适用于Visual Studio 2008,且包含了...
在本项目中,C#被用来创建一个能够自动发送和接收消息、处理各种事件的QQ机器人。 首先,QQ机器人的核心功能是实现与QQ客户端的通信。这通常涉及到对腾讯提供的QQ协议的深入理解和实现,包括登录验证、心跳包维持...
4. **代码实现**:阅读和理解项目中的C#源码,了解如何处理接收到的消息,如何构造和发送回复,以及如何实现特定功能。 5. **测试与调试**:在本地运行机器人,通过模拟QQ消息进行测试,观察机器人响应是否符合预期...
下面我们将详细探讨如何用C#编写QQ自动登录的代码,以及相关的技术要点。 1. **网络通信**:QQ自动登录首先需要与腾讯的服务器进行网络通信。这涉及到HTTP或HTTPS协议,以及可能的TCP/IP编程。C#中的`System.Net`...