修改QQ的程序

最近一网友要戒QQ,要我写个程序帮他把QQ戒了,昨天一天搞定了,里面有点有用的东西拿出来 如果觉得我很菜不要骂我 :E

主要思路:

FindWindow -> "发送消息" "查看消息"

修改QQ的Button,Static,Edit控件

修改注册表,让其自动运行

具体代码如下:char buttoncaption[4][20]={
  "聊天记录(&H)",
  "对话模式(&T)",
  "取消发送(&C)",
  "送讯息(&S)"
};
HWND WndHandle;
HWND WndEdit;
HWND static_c[11];//static 的hwnd,因为很多不确定设了11个
HWND button_c[6];//Button的Hwnd 查看消息4个发送消息6个 所以取6个
WndHandle = ::FindWindow(NULL, "查看消息");
::SetWindowText( WndHandle, "聊天真的很痛苦的呀");
if( WndHandle != NULL){

  /////////开始搞定Edit////////////////////
  WndEdit = ::FindWindowEx( WndHandle,NULL,"Edit","");
             类名  Caption
  ::EnableWindow( WndEdit, false );
  /////////Edit被搞定/////////////////////
  //////////开始搞定Button//////////
  for( int i = 0; i < 4; i++ ){
    button_c[i] = FindWindowEx(WndHandle,NULL,"Button",buttoncaption[i]);
  }
  for( i = 0; i < 4; i++ ){
    ::EnableWindow( button_c[i],false);
  }
  //////////Button±被搞定///////////

  /////////开始搞定Static/////////////
  static_c[0] = NULL;
  int n=0;
  for( i = 1; i < 11; i++ ){
    static_c[i] = FindWindowEx( WndHandle,static_c[i-1],"Static",NULL);
    //发现第二个参数为NULL时,FindWindowEx会返回一样的值,所以以上次取的Hwnd为参数
    //可以获得所有Static的HWND
  }
  for( i = 1; i < 11; i++ ){
    char caption[100];
    ::GetWindowText( static_c[i],caption,100);
    if( strcmp(caption,"QQ#:") != 0 &&
      strcmp(caption,"昵称:") != 0 &&
      strcmp(caption,"Email:") != 0 &&
      strcmp(caption,"按ctrl + 回车键发送消息") != 0 ){
      static_index[n++] = i;
    }
    //把不要修改的剔除掉
  }
  for( i = 1; i <= 4; i++ ){
    int index = static_index[i-1];
    if( index < 0 || index > 10)
      continue;
    int dlgindex = ::GetDlgCtrlID( static_c[index] );
    ::SetDlgItemText( WndHandle,dlgindex,s[i-1]);
  }
  ::InvalidateRect( WndHandle,NULL,false);
  for( i = 1; i <= 4; i++ ){
    ::UpdateWindow( static_c[static_index[i-1]] );
  }
  //////////Static±?被搞定///////////////////
}

修改注册表如下:

char path[50];
::GetCurrentDirectory(50,path);
strcat(path,"\\戒掉qq聊天的坏习惯.exe");
LPBYTE path_set = pchar_To_LPBYTE( path );
DWORD type = REG_SZ;
DWORD cbdata = strlen(path)+1;
HKEY hkey;
LPCTSTR data_set = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\";
long ret_0 = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,
			data_set,
			0,
			KEY_ALL_ACCESS,
			&hkey);
	long ret_1 = ::RegSetValueEx( hkey,
					"BadQQ",
					0,
					type,
					path_set,
					cbdata );
::RegCloseKey( hkey );
LPBYTE CShitDlg::pchar_To_LPBYTE( char* str)
{
	LPBYTE lpb=new BYTE[strlen(str)+1];
	for(int i=0; i < strlen(str);i++)
		lpb[i]=str[i];
	lpb[strlen(str)]=0;
	return lpb;
}

(全文完)

本文配套源码

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索button
, static
, null
, strcmp
, 消息
, FindWindowEx
strcmp()
qq执行程序兼容性修改、修改qq程序软件、怎么修改qq邮箱的名字、短信修改qq密码的方式、qq空间的名字怎么修改,以便于您获取更多的相关知识。

时间: 2024-09-17 04:16:10

修改QQ的程序的相关文章

XP系统修改屏幕保护程序的方法

  虽然,微软已经宣布XP系统正式退休,但是仍然有不少电脑用户在使用XP系统.因此,今天,小编就给大家分享一下关于XP系统的一些使用技巧.今天我们先来说XP系统怎么修改屏幕保护程序.那么,XP系统怎么屏幕保护程序呢?一起来看看今天的XP系统使用教程吧! XP系统 登录到Windows后,你应该有加载桌面.在较低的屏幕的左上角,单击"开始"按钮.一个垂直的菜单会弹出. 向上弹出开始菜单上的权利,有许多常用的物品.图为'控制面板'是其中一个项目. 点击"控制面板"选项,

c#学习 网络qq编程-C# 基于网络的QQ聊天程序

问题描述 C# 基于网络的QQ聊天程序 第一步就是在工具箱里面把这个控件添加进来,工具箱上添加一个选项卡,点击右键,添加项,再选到刚才下载到的DLL文件. 下面介绍一下这个控件的属性 imageList 这个是绑定到ImageList控件上,显示头像时就直接用到ImageList的序号 ItemContextMenuStrip 子项的右键菜单 Viw 显示的样式 sideBar先有组再有成员,所以要在sideBar上添加几个组,添加方法 sideBar.AddGroup("这个是组的名称&quo

帮我看看吧,这些修改密码的程序,在火车订票系统中怎么定义的

问题描述 帮我看看吧,这些修改密码的程序,在火车订票系统中怎么定义的 this->UpdateData(true); usenameset set; if(m_name=="") ::MessageBox(NULL,"用户名不能为空!","错误",MB_ICONINFORMATION); else{set.Open(CRecordset::dynaset,_T("select * from usename where use='&

Java版的QQ小程序

这是一个简单的java版的QQ小程序. 包括一个简单的服务器和一个简单的客户端. 运行时,先运行服务器,然后在运行客户端,就可以进行聊天了. 默认的配置是localhost,端口4545,更改ip就可以在两天电脑上进行聊天了. 目前不支持内网和外网之间的访问,也不支持多人聊天. 因为这只是一个简单的例子,感兴趣的同学可以通过改进,实现多人聊天和内外网之间的访问. 效果图: 下载地址:http://download.csdn.net/source/2958843 源代码: QQServer.jav

通信-Linux下的类似QQ聊天程序

问题描述 Linux下的类似QQ聊天程序 想在Linux下用socket套接字写个类似于windows下的QQ聊天程序,但是遇到不能循环发送和接受的问题,希望能向各位大侠请教,以下是代码: 这是server端代码: #include<stdio.h> #include<string.h> #include<stdlib.h> #include<errno.h> #include<sys/types.h> #include<sys/socke

空前绝后的Java Swing实现的QQ聊天程序,支持文字图片文件表情发送

问题描述 JavaSESwing原创Spring+Hibernate+mySql实现的纯JAVA版QQ聊天程序,可以说是空前绝后.哈哈.可以私聊,群聊,发表情,发截屏,发在线和离线文件,消息记录永久保存.记住登录密码自动登录,切换用户界面皮肤风格(10几种),个性化消息内容和自己名字的颜色字体等.最近联系人,消息提示,悬浮图标等等.当新消息到达时,悬浮图标会变成一辆汽车在屏幕上跑来跑去,越跑越快,直到一定的速度后再恢复减速.直到您收取了新消息为止.现在可以下载了.运行界面截图请到下载地址去看吧.

《Android App开发入门:使用Android Studio 2.X开发环境》——2-8 修改项目的程序包名称和应用程序 ID

2-8 修改项目的程序包名称和应用程序 ID 如果用户将第 2-5 节的 Ch02_Button 范例部署到手机上执行,然后又把第 2-6 节的范例 Ch02_EditText 部署到手机上执行,会发现手机的应用程序列表中只有 Ch02_ExitText,却没有 Ch02_Button. 在第1章曾经提过,程序包名称是 Android App 在手机上的身份证 ID,而 Ch02_ExitText 项目是从 Ch02_Button 复制而来的,它们的程序包名称相同(?ag.com.ch02_bu

c语言-求修改一下这个程序,有两个小问题

问题描述 求修改一下这个程序,有两个小问题 主要问题是:1.插入新的事件时,原有事件的优先级变化出错,例如,在原有优先级分别为1.2的事件中,插入另一个优先级为2的事件,前者应变为1,3,而程序结果为3,3 2.关闭运行程序的窗口,再打开,无法读取之前的数据 程序如下: c语言实验报告:电子记事本的实现 解决方案 代码贴出来才好修改啊 解决方案二: #include #include #include #define N 100 struct date { int year; int month

qq证件号码可以修改 qq证件号码修改方法

要修改证件号码只有一个办法就是申请了,我们向QQ安全中心申请了,具体的需要先关注QQ安全中心的公众号. 1.你先把要申诉的QQ去提交一个申诉,之后腾讯会发个回执编码给你. 2.用一个其它的QQ号,最好是会员QQ号,然后去 腾讯的人工客服去投诉,腾讯的首页,"客服中心"的,你点进去. 3.要注意几点的是:然后根据提示进行提交资料,越详细越容易申诉成功. ps:因为你手动提交的申诉表是机器审核的,客服中心是人工受理的,机器死板,客服比较重视,这就是为什么要用qq会员的原因了.(当然,没会员