首页
社区
课程
招聘
[原创]发一个C#写的QQ性别修改器
发表于: 2007-7-16 07:05 9177

[原创]发一个C#写的QQ性别修改器

2007-7-16 07:05
9177

申明:本程序参看了"非安全"的QQ性别修改器的汇编代码.表示感谢.
主要代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;//下面要调用非托管代码

namespace QQ性别修改器
{
    public partial class Form1 : Form
    {
        [DllImport("user32.dll")]
        static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
        [DllImport("user32.dll")]
        static extern IntPtr GetDlgItem(IntPtr hDlg, int nIDDlgItem);
        [DllImport("user32.dll", SetLastError = true)]
        public static extern IntPtr FindWindowEx(IntPtr parentHandle, int childAfter, string className, int windowTitle);
        [DllImport("user32.dll", EntryPoint = "SendMessage")]
        static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, string lParam);

        IntPtr hwnd, hwnd1, hwnd2, hwnd3, hwnd4, hwnd5,idx;
        public Form1()
        {
            InitializeComponent();
        }

        unsafe private void button1_Click(object sender, EventArgs e)//修改性别按钮
        {
            if (this.textBox1.Text.Length != 1)
            {
                MessageBox.Show("必须是一个汉字","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
            else
            {
                if (FindWindow("#32770", "QQ2007设置").ToInt32() == 0)
                {
                    MessageBox.Show("请先打开QQ个人设置窗口", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    byte[] ls = new byte[10];
                    hwnd = FindWindow("#32770", "QQ2007设置");
                    hwnd1 = FindWindowEx(hwnd, 0, "#32770", 0);
                    hwnd2 = FindWindowEx(hwnd1, 0, "#32770", 0);
                    hwnd3 = GetDlgItem(hwnd2, 1356);
                    hwnd4 = GetDlgItem(hwnd2, 1345);
                    hwnd5 = GetDlgItem(hwnd1, 1343);
                    idx = SendMessage(hwnd3, 323, 0, this.textBox1.Text);
                    SendMessage(hwnd3, 334, idx.ToInt32(), Convert.ToString(0));
                    SendMessage(hwnd4,13,10,this.textBox1.Text);
                    SendMessage(hwnd4,12,0,this.textBox1.Text);
                    SendMessage(hwnd5, 245, 0, Convert.ToString(0));
                }
            }
        }
    }
}


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (10)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有点不明白
541 (1345)这个是哪个控件?我在spy++上没有找到。。
2007-7-17 00:26
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
hwnd1 = FindWindowEx(hwnd, 0, "#32770", 0);
hwnd2 = FindWindowEx(hwnd1, 0, "#32770", 0);

这个为何要执行两次?
2007-7-17 00:31
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
323,334,13,10,12,0,245, 0这些分别是什么意思?
能不能给你代码的最后关键部分加上注释。感激不尽!
2007-7-17 00:35
0
雪    币: 133
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
//年龄的edit控件
2007-7-17 07:15
0
雪    币: 133
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
在“非安全”的汇编写的代码里面有。第二页,你可以查看一下。
2007-7-17 07:22
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个问题没有回答偶~~
2007-7-25 14:01
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
没有关于
323,334,13,10,12,0,245, 0这几个值的解释啊!
2007-7-25 14:16
0
雪    币: 207
活跃值: (20)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
应该是QQ设置窗口的X ,Y 坐标.
用个RESSCOPE拆开来看下QQ的窗口
2007-7-25 19:52
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
小白路过
2018-6-7 14:10
0
游客
登录 | 注册 方可回帖
返回
//