• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 67  文章 - 171  trackbacks - 0
            <2008年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(10)

            隨筆分類

            隨筆檔案

            連接資料

            最新隨筆

            搜索

            •  

            最新隨筆

            最新評論

            //找QQ的登陸對話框,如果QQ沒有啟動,則先啟動它。
            pWnd = FindWindow(_T("#32770"), _T("QQ用戶登錄"));
            if (!pWnd)
            {
             PROCESS_INFORMATION lpProcessInformation;
             STARTUPINFO startupinfo;
             memset(&startupinfo,0,sizeof(STARTUPINFO));
             memset(&lpProcessInformation,0,sizeof(PROCESS_INFORMATION));
             startupinfo.cb = sizeof(STARTUPINFO);
             startupinfo.dwFlags = STARTF_FORCEOFFFEEDBACK;
             startupinfo.dwX = 0;
             startupinfo.dwY = 0;
             startupinfo.lpDesktop = NULL;
             startupinfo.lpReserved = NULL;
             startupinfo.lpReserved2 = NULL;
             startupinfo.lpTitle = NULL;
             CreateProcess(_T("D:\\Tencent\\qq\\CoralQQ.exe"), NULL, NULL, NULL, FALSE,
             NORMAL_PRIORITY_CLASS, NULL, NULL, &startupinfo, &lpProcessInformation);
            }

              二、開啟和打開后就是取得QQ的號碼框和密碼框的句柄了

              這里要注意的是,因為QQ密碼框是登陸框的子窗口,先要找到登陸框后再一步步找到QQ的密碼框。找到后就是向它們發送消息了。QQ的密碼框先復制到剪切板后發送WM_PASTE就可以了,但是密碼框因為使用了QQ鍵盤加密保護技術,所以不能發送WM_PASTE,而要模擬鍵盤發送WM_CHAR消息,讓其一個一個接收密碼就可以了。

            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就可以了,至于這個大家都會的了,這里不再講述。
            posted on 2008-08-08 19:24 cpsprogramer 閱讀(2050) 評論(2)  編輯 收藏 引用 所屬分類: VC++

            FeedBack:
            # re: 轉@QQ自動登錄 2008-08-09 00:10 看看而已
            太老了,這個是以前版本的QQ可以使用,現在已經失效了  回復  更多評論
              
            # re: 轉@QQ自動登錄 2008-08-14 16:12 浪跡天涯
            現在qq版本對鍵盤輸入加鎖了,有兩個dll插件,防止輸入密碼時被截獲,這個方式已經不能傳輸密碼進去了  回復  更多評論
              
            亚洲欧美久久久久9999| 久久超碰97人人做人人爱| 91精品日韩人妻无码久久不卡| 久久AV高清无码| 久久精品女人天堂AV麻| 国产亚洲美女精品久久久2020| 国内精品久久久久影院一蜜桃| 99久久免费国产精品| 一级a性色生活片久久无少妇一级婬片免费放 | 99麻豆久久久国产精品免费| 日本免费一区二区久久人人澡 | 久久偷看各类wc女厕嘘嘘| 国产精品久久永久免费| 久久99亚洲综合精品首页| 久久青青草原亚洲av无码app| 久久91精品综合国产首页| 精品九九久久国内精品| 国内精品伊人久久久久妇| 久久久久久久久久久免费精品| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 97久久精品午夜一区二区| 无码国内精品久久人妻麻豆按摩| 精品国产91久久久久久久| 亚洲色欲久久久综合网| 久久久久久综合网天天| 久久人人爽人人爽人人片AV麻豆 | 午夜视频久久久久一区| 99久久久久| 伊人久久大香线焦综合四虎| 久久久久久久久久久久中文字幕 | 久久www免费人成看片| 日本欧美国产精品第一页久久| 热久久这里只有精品| 国产成人精品久久亚洲高清不卡| 97久久国产亚洲精品超碰热| 欧美一区二区三区久久综合| 久久久久亚洲av成人网人人软件| 青青草原综合久久大伊人| 久久中文字幕人妻丝袜| 久久中文骚妇内射| 成人妇女免费播放久久久|