WEB开发网
开发学院软件开发VC 用VC++制作QQ自动登陆软件 阅读

用VC++制作QQ自动登陆软件

 2007-03-17 21:25:47 来源:WEB开发网   
核心提示: if (pWnd){ //获得QQ的号码输入框指针 CComboBox *pCob = (CComboBox *)pWnd->GetDlgItem(138); if (pCob) {m_edtCode.SetSel(0, -1);m_edtCode.Copy();//先删除原有号码后
  if (pWnd)
  {
      //获得QQ的号码输入框指针
      CComboBox *pCob = (CComboBox *)pWnd->GetDlgItem(138);
      if (pCob)
      {
         m_edtCode.SetSel(0, -1);
         m_edtCode.Copy();
         //先删除原有号码后向号码输入框发送复制消息
         pCob->SetCurSel(0);
         pCob->DeleteString(0);
         pCob->SendMessage(WM_PASTE, 0, 0);
      }
      //因为QQ的密码框是包含在主窗口里的子窗口,所以先获得子窗口后再一个个往后找
      CWnd *pCwnd = pWnd->GetNextWindow(GW_CHILD);
      pCwnd = pCwnd->GetNextWindow(GW_HWNDNEXT);
      while (pCwnd != NULL)
      {
         if (pCwnd)//找到
         {
             CEdit *pPwd = (CEdit *)pCwnd->GetDlgItem(16038);
             if (pPwd)
             {
                char cKey;
                char buf[20];
                memset(buf, 0, sizeof(buf));
                //因为我的程序是unicode,所以这里要转换。如果不是,则不用转换了。
                int iRet = WideCharToMultiByte(CP_ACP,
          WC_COMPOSITECHECK,
          m_strPassword.GetBuffer(m_strPassword.GetLength()),
                    m_strPassword.GetLength(), buf, 20, NULL, NULL);
                //清除密码框
                pPwd->SetSel(0, -1);
                pPwd->Clear();
                i = 0;
                //将密码一个个地发送过去。这里不能用复制消息,因为QQ的密码框不允许复制
                while (i < iRet)
                {
                    strncpy(&cKey, buf+i, 1);
                    pPwd->SendMessage(WM_CHAR, (WPARAM)cKey, 0);
                    i++;
                }
                break;
             }
         }
         pCwnd = pCwnd->GetNextWindow(GW_HWNDNEXT);
      }
三、当填充好号码和密码后就可以发送单击鼠标消息,让QQ登陆了。    //以下为找到登陆按钮后,发送鼠标单击消息
    CButton *pbtnLogin = (CButton *)pWnd->GetDlgItem(16032);
    if (pbtnLogin)
    {
      pbtnLogin->PostMessage(WM_LBUTTONDOWN, 0, 0);
       pbtnLogin->PostMessage(WM_LBUTTONUP, 0, 0);
    }
四、要让QQ自动登陆,只要加个WM_TIMER就可以了,至于这个大家都会的了,这里不再讲述。

五、结束语:这里使用到的技术就是向别的进程发送(数据)消息,主要就是要找到对方进程接收消息的句柄(这里用了SPY++),找到后就可以向其它发送(数据)消息了。比如我前几天帮别人装了个PP,但是PP有个浏览器,只要你开PP这个东东就会出来,我觉得非常碍眼,就可以给它 发送一个WM_HIDE消息。其它的大家可以随意发挥了!

上一页  1 2 

Tags:VC 制作 QQ

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接