| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1589 人关注过本帖
标题:[分享]模拟一个简单的QQ尾巴
只看楼主 加入收藏
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
收藏
 问题点数:0 回复次数:14 
[分享]模拟一个简单的QQ尾巴

//QQ尾巴

#include <windows.h>
#include <stdio.h>
#include <string.h>

#define id_Send 0x77E //发送按扭的ID

unsigned char title[256],buffer[]="大家好.";

int isChat()/*判断是否QQ聊天窗口*/
{ unsigned char *cp;
int s_len;
s_len=strlen(title);
if (s_len<4)
return 0;
title[2]='\0';
/*与好友聊天中(判断起始字是'与',结束字是'聊天中')*/
if (!strcmp(title,"与") && s_len>8)
{ cp=&title[s_len-6];
if(!strcmp(cp,"聊天中"))
return 1;
}
/*群聊中(判断结束字是'-群')*/
cp=&title[s_len-2];
if (!strcmp(cp,"群"))
return 1;
return 0;
}

int main(int argc,char *argv[])
{
HWND h_Fore; //前台窗口句柄
HWND h_Chat; //聊天窗口句柄
HWND h_Parent; //发送按扭的父窗口
int i;
ShowWindow(FindWindow("ConsoleWindowClass",argv[0]),0); //隐藏自身
while(1)
{ h_Fore=GetForegroundWindow(); //得到前台窗口句柄
GetWindowText(h_Fore,title,256); //得到前台窗口标题

if (isChat())
{ h_Parent=FindWindowEx(h_Fore,NULL,"#32770","");
//因为第二个AfxWnd42才是消息框的父窗口
h_Chat=FindWindowEx(h_Parent,NULL,"AfxWnd42",NULL);
h_Chat=FindWindowEx(h_Parent,h_Chat,"AfxWnd42",NULL);
h_Chat=FindWindowEx(h_Chat,NULL,"RichEdit20A",NULL);

for(i=0;buffer[i]!='\0';i++)
SendMessage(h_Chat,WM_CHAR,buffer[i],0);
SendMessage(h_Parent,WM_COMMAND,id_Send,BN_CLICKED);//单击发送按扭
//EnableWindow(h_Chat,0);要是加上这句的话,用户就不能聊天啦.
}
Sleep(500);
}
return 0;
}


专门加了一个对QQ聊天窗口判断的函数.

[此贴子已经被作者于2007-3-1 2:06:47编辑过]

搜索更多相关主题的帖子: QQ尾巴 windows title len include 
2007-02-28 23:43
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
收藏
得分:0 

想了下,不需要对窗口标题的判断一样可以实现。
对窗口句柄判断就行啦。

下面是修改后的程序

//QQ尾巴

[CODE]#include <windows.h>
#include <stdio.h>
#include <string.h>
#define id_Send 0x77E //发送按扭的ID
unsigned char buffer[]="大家好.";

int main(int argc,char *argv[])
{
HWND h_Fore; //前台窗口句柄
HWND h_Chat; //聊天窗口句柄
HWND h_Parent; //发送按扭的父窗口
int i;
ShowWindow(FindWindow("ConsoleWindowClass",argv[0]),0); //隐藏自身
while(1)
{ h_Fore=GetForegroundWindow(); //得到前台窗口句柄

if (h_Parent=FindWindowEx(h_Fore,NULL,"#32770",""))
{
//因为第二个AfxWnd42才是消息框的父窗口
if (h_Chat=FindWindowEx(h_Parent,NULL,"AfxWnd42",NULL))
{ h_Chat=FindWindowEx(h_Parent,h_Chat,"AfxWnd42",NULL);
h_Chat=FindWindowEx(h_Chat,NULL,"RichEdit20A",NULL);

for(i=0;buffer[i]!='\0';i++)
SendMessage(h_Chat,WM_CHAR,buffer[i],0);
SendMessage(h_Parent,WM_COMMAND,id_Send,BN_CLICKED);//单击发送按扭
//EnableWindow(h_Chat,0);要是加上这句的话,用户就不能聊天啦.
}
}
Sleep(500);
}
return 0;
}[/CODE]


[此贴子已经被作者于2007-3-1 2:06:06编辑过]

2007-03-01 02:05
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

我最近也在看WINDOWS程序设计 不过看的不爽。有写东西看不懂。。。你着是从那里学的 ,是从电子书上么? 给我介绍一本详细的吧


羊肉串 葡萄干 哈密瓜!!
2007-03-01 02:06
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
收藏
得分:0 
你也还在呀
我看的 windows程序设计.chm 电子书
这个主要是用API
2007-03-01 02:08
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
是啊 我先在正在看这个呢,无聊~~睡不着

羊肉串 葡萄干 哈密瓜!!
2007-03-01 02:10
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
你把你那本传上来 给我看看好么

羊肉串 葡萄干 哈密瓜!!
2007-03-01 02:15
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
收藏
得分:0 
那个windows程序设计有好多也看不懂
你可以看些视频教程,讲得浅显易懂些
吉大有教学视频
下面是地址
你打开
http://download.chinaitlab.com/DownSearch.asp
不过只有3KB/S

2007-03-01 02:15
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
收藏
得分:0 
我现在睡觉啦,明天传,我这台机子上没有,懒得开那台机子了
88
2007-03-01 02:17
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

谢谢了 88


羊肉串 葡萄干 哈密瓜!!
2007-03-01 02:19
JonnyLiu
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-4-27
收藏
得分:0 
小弟也在看这本书呢,但是里面的很多类型我没有概念啊,比如HINSTANCE是个什么东西,还请各位大侠帮忙哦
2007-03-01 10:21
快速回复:[分享]模拟一个简单的QQ尾巴
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017215 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved