电脑教程网  
| 电脑入门教程 | 操作系统教程 | 电脑优化教程 | 多媒体教程 | 网站制作教程 | 数据库教程 | 办公软件教程 | 电脑硬件教程 | 电脑作图教程 | 软件开发教程 | 组网技术教程 | 网络安全教程 | 网络编程教程 | 网络运营教程 | 病毒防治教程 | 应用软件下载 |
  当前位置:主页>电脑知识技术>文章内容
关于查找QQ发送窗口的问题
来源: 作者: 发布时间:2007-11-23  
您正在看的电脑技术荟萃是:关于查找QQ发送窗口的问题。

看到好多人都在问QQ方面的问题,主要是关于研究QQ尾巴的问题,网络上已经有很多这方面的例子,但是在用到作者提供的代码时候,不能够正确的找到RICHEDIT,因此无法挂接钩子,下面这个方法,应该是可以,同时附带上qqhook的源代码。

测试cpp

#include <afx.h>
//#include <windows.h>

#include "QQHook.h"
#pragma comment(lib, "QQHook.lib")
#include "resource.h"
#define ID_MYTIMER 419 // ¼ÆÊ±Æ÷ID
BOOL g_bStart;
HWND g_hQQ;
LRESULT CALLBACK ProcMain(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
  switch (Msg)
  {
  case WM_CLOSE:
 //   AnimateWindow(hDlg, 800, AW_HIDE | AW_SLIDE | AW_VER_POSITIVE);
    EndDialog(hDlg, 0);
    break;
  case WM_COMMAND:
    {
      if (LOWORD(wParam) == IDC_BTN_CONTROL)
      {
        g_bStart = !g_bStart;
        SetDlgItemText(hDlg, IDC_BTN_CONTROL, g_bStart ? "Í£Ö¹" : "¿ªÊ¼");
        if (g_bStart)
          SetTimer(hDlg, ID_MYTIMER, 1000, NULL);
        else
        {
          KillTimer(hDlg, ID_MYTIMER);
          SetHook(NULL);
        }
      }
      if (LOWORD(wParam) == IDC_BTN_EXIT)
        SendMessage(hDlg, WM_CLOSE, 0, 0);
    }
    break;
  case WM_DESTROY:
    PostQuitMessage(0);
    break;
  case WM_INITDIALOG:
    {
      int x, y;
      RECT rect;
      g_bStart = FALSE;
      GetWindowRect(hDlg, &rect);
      x = GetSystemMetrics(SM_CXSCREEN) - rect.right + rect.left;
      y = GetSystemMetrics(SM_CYMAXIMIZED) - rect.bottom + rect.top - 10;
      SetWindowPos(hDlg, HWND_TOPMOST, x, y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
   //   AnimateWindow(hDlg, 800, AW_SLIDE | AW_VER_NEGATIVE);
    }
    break;
  case WM_TIMER:
    {
      if (!IsWindow(g_hQQ))
      {       
        HWND hwnd;
  HWND hSend;
  // CWnd *myWnd;
  int nIdFirst;
  int flag;
  char lpbuf[256];
  //  DWORD a;
        g_hQQ = NULL;
  hwnd=NULL;
  hSend=NULL;
        SetHook(NULL);
  //  do
  //  {
  //    g_hQQ = FindWindowEx(NULL, g_hQQ, "#32770", NULL);   
  
  //   GetWindowText(g_hQQ,lpbuf,255); 
  
  //  if(strcmp(lpbuf,"Óë ·É ÁÄÌìÖÐ")==0)break;
  //   hSend = FindWindowEx(g_hQQ,NULL, "Button", "·¢ËÍ(&S)");  
  
  //  } while(!(g_hQQ != NULL && hSend != NULL));
  nIdFirst=0;
  flag=0;
  while(1)
  {
   g_hQQ=FindWindowEx(NULL, g_hQQ, "#32770", NULL);
   if(g_hQQ==NULL)break;
  &nb

   


(阅读次数:
共3页: 上一页 1 [2] [3] 下一页
上一篇:BCB的未来发展发方向   下一篇:传神自动登陆研究
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·Bjarne Stroustrup谈系统设计的
·一个程序员如何月进万金的?
·站长必读:Web创业的10条戒律
·一个好的软件开发人员不仅仅是精
·狂热+坚持=成功 博客园CEO DUDU
·周末闲侃:论J2EE程序员的武功修
·让程序员立于不败之地的七种武器
·程序员需要研究厚黑学吗?
·C++爱好者必读
·谈程序开发中的人格因素
·什么程序员最易找工作? 十大热门
·你是否想知道 如何进入程序设计
  相关文章
·BCB的未来发展发方向
·传神自动登陆研究
·成功要素之我见
·监视程序运行得钩子程序
·《操作系统概念(第六版)》 第
·Python线程编程的两种方式
·PLC、DCS、FCS三大控制系统的特
·由面试想到的(转载)
·linux下php使用gettext开发多语
·删除到回收站
·PHP中,使用template,如何把自
·在RICHEDIT中插入图片
123   最新推荐
计算机教程网