首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

QQ自动聊天工具中的SendMessage是什么意思,里面的0x101 0x102如何去得来

2013-01-23 
QQ自动聊天工具中的SendMessage是什么意思,里面的0x101 0x102怎么去得来一段自动发送QQ聊天信息的代码publ

QQ自动聊天工具中的SendMessage是什么意思,里面的0x101 0x102怎么去得来
一段自动发送QQ聊天信息的代码


        public void sendMessage()
        {
            IntPtr ip = IntPtr.Zero;
            if (Regex.IsMatch(text_Intptr.Text.Trim(), @"^[a-fA-F0-9]+$"))
                ip = (IntPtr)Convert.ToInt32(text_Intptr.Text.Trim(), 16);
            else
            {
                ip = FindWindow("TXGuiFoundation", TextBox_Title.Text.Trim());
                if (ip.ToInt32() == 0)
                    ip = GetIntPtr();
                if (ip == IntPtr.Zero)
                {
                    MessageBox.Show("请输入正确的标题");
                    return;
                }
            }
            SetForegroundWindow(ip);
            SetActiveWindow(ip);
            var str = "";
            var rtf = "";
            richTextBox1.Invoke(new MethodInvoker(() => { str = richTextBox1.Text.Trim(); rtf = richTextBox1.Rtf.Trim(); }));
            while (true)
            {
                if (ip.ToInt32() == GetForegroundWindow().ToInt32())
                {
                    foreach (byte c in Encoding.Default.GetBytes(str))
                    {
                        SendMessage(ip.ToInt32(), 0x101, (int)c, 1);
                        SendMessage(ip.ToInt32(), 0x102, (int)c, 1);
                    }
                    SendKeys.SendWait("%s");


                }
                Thread.Sleep(sleep);
            }
        }


我就这两段代码不明白
SendMessage(ip.ToInt32(), 0x101, (int)c, 1);
SendMessage(ip.ToInt32(), 0x102, (int)c, 1);

他这里为向聊天输入框插入字符,
但是他这里判断没有先去得到句柄,而是用
0x101和0x102
那这两个是怎么得来的呢?
这两个表示的是什么呢?
为什么是两个,按道理输入框只有一个啊?

谢谢
[解决办法]
本帖最后由 bdmh 于 2013-01-16 14:52:45 编辑 消息值,网上查去,或者找本消息大全查
http://wenku.baidu.com/view/b031f004e87101f69e319572.html
[解决办法]
0x101:按下一个键
0x102:释放一个键
一个down一个up
[解决办法]
或者自己写代码,将发送的消息复制到剪切板中,然后粘贴到qq聊天窗口中
[解决办法]
windows里自定义的消息id
具体含义可以百度查一下
[解决办法]
获取聊天窗口的内容?这个倒没试过
[解决办法]
不过思路估计差不多,先是找到聊天窗口=》激活聊天窗口=》模拟按下CTRL+C,然后将剪切板中的内容粘贴出来就行
[解决办法]
sendkeys
keybd_event
sendmessage 都可以。
[解决办法]
你说的在程序中实现没办法的,跟msn等不一样,qq估计是为了垄断,根本就没有公开api,所以现在qq都是通过这种模拟键盘来实现的。
[解决办法]
引用:
引用:不过思路估计差不多,先是找到聊天窗口=》激活聊天窗口=》模拟按下CTRL+C,然后将剪切板中的内容粘贴出来就行
这样都是模拟键盘操作的
我想要能否在程序中来进行实现呢?

谢谢


sendkeys就算了 不能后台操作


sendmessage比较好。能后台操作


最小化后都能操作

热点排行