西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → 面向QQ編程 QQ窗口的抓取及如何自動化操作

面向QQ編程 QQ窗口的抓取及如何自動化操作

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時間:2010/9/1 1:58:38字體大小:A-A+

作者:佚名點擊:336次評論:0次標(biāo)簽: QQ

  • 類型:QQ 其它大。774KB語言:中文 評分:6.3
  • 標(biāo)簽:
立即下載

本文在文章開始,先介紹下窗口的抓取軟件,Spy++及AccExplorer32.exe,前者是大名鼎鼎的微軟出品,幾乎可以抓取所有的Windows窗口及控件(其實也是一個窗口),另外一個也是類似,功能可以互補一下。

首先看看兩者的界面,在抓取QQ的【查找聯(lián)系人/群/企業(yè)】的窗口時候的情況:

 
Sp++的界面

 
AccExplorer32.exe界面

兩者界面不同,不過基本功能有重疊,Spy++提供的功能可能會更多一些,這兩個軟件都可以對列出的窗口進行一系列的操作,如可以找到相關(guān)的窗口信息,窗口位置,以及對各種窗口操作的信息,包括鼠標(biāo)、鍵盤等一系列的操作都可以模擬出來,非常強大。 

為了模擬抓取窗口以及對窗口的各種操作,我們可以通過FindWindow和FindWindowEx、SendMessage、PostMessage等Windows消息來進行處理,便可實現(xiàn)基本的窗口、控件操作,另外按鈕的操作,我們則可以模擬鼠標(biāo)單擊某個坐標(biāo)點的方式實現(xiàn)按鈕的單擊操作模擬。 模擬的QQ界面窗口如下所示,是一個查找窗口的。

 

我們通過抓取窗口信息,我們看到該窗口下面只有兩個可見窗口,分別對應(yīng)兩個輸入控件,可以發(fā)現(xiàn)該窗口的一個輸入(賬號和昵稱輸入框中的任何一個)的Class 名稱如下所示:

 

首先我們來創(chuàng)建一個界面,如下所示,用來模擬相關(guān)的操作。

 

我們在輔助類中定義幾個函數(shù)用來實現(xiàn)窗口的操作 

         [DllImport("user32.dll")]

        private static extern IntPtr FindWindowEx(IntPtr parent, IntPtr childAfter, string className, string windowName);

        [DllImport("user32.dll", EntryPoint = "FindWindow")]
        private static extern IntPtr FindWindowWin32(string className, string windowName);

        [DllImport("user32.dll ")]
        public static extern int GetClassName(IntPtr hWnd, [Out] StringBuilder className, int maxCount);

        [DllImport("user32.dll")]
        private static extern int SendMessage(IntPtr window, int message, int wparam, int lparam);

        [DllImport("user32", CharSet = CharSet.Auto)]
        private extern static int SendMessage(IntPtr hWnd, int wMsg, int wParam, string lpstring);

        [DllImport("user32.dll")]
        private static extern int PostMessage(IntPtr window, int message, int wparam, int lparam);

     

 

 

在實際的按鈕操作代碼中,我們簡化了具體的操作,只需要調(diào)用輔助類就可以了

         private void btnSearch_Click(object sender, EventArgs e)

        {
            Win32Window win = Win32Window.FindWindow(null, this.txtWindowName.Text);
            if (win != null)
            {
                ArrayList list = win.Children;
                foreach (Win32Window sub in list)
                {
                    if (sub.Visible && sub.ClassName == "ATL:30A4D1D8")
                    {
                        sub.SendMessage(WindowMessage.WM_SETTEXT, 0, this.txtInput.Text);
                    }
                }
            }
            int x = 288;
            int y = 328;
            win.ClickWindow("left", x, y, false);
        }

 

 

其中位置信息時通過Spy++監(jiān)控出來的信息。

 

最后結(jié)果如下所示,實現(xiàn)控件內(nèi)容的修改,并執(zhí)行了單擊按鈕的操作,彈出添加好友確認信息。

 


 

如果要進行進一步的操作,在繼續(xù)對彈出的窗口進一步分析即可,其他所有的窗口操作,原理一樣,這樣就可以實現(xiàn)很多程序的自動模擬操作,是不是很方便呢。

    qq空間克隆器
    (25)qq空間克隆器
    西西軟件園提供好用的空間克隆器官方免費下載,提到空間相信很多人第一個想到就是如何去美化自己的空間更受好友關(guān)注,空間克隆器,使用它我們就可以瀏覽并一鍵克隆該站所提供的眾多空間主題內(nèi)容?寺】臻g的同時還可以選擇保留當(dāng)前裝扮的所有模塊,更人性化。空間預(yù)覽功能不用打開瀏覽器,小窗口中直接預(yù)覽空間,簡單實用。...更多>>
    qq空間音樂克隆器
    (8)qq空間音樂克隆器
    空間音樂播放器一直是黃鉆等用戶的特權(quán),就是利用你的虛榮心賺你的錢,不過朋友訪問你的空間能聽到你最喜歡的音樂也確實是一件不錯的事情,要是能免費就更好了。空間音樂克隆器是什么空間音樂克隆器是一款克隆別人空間音樂到自己空間使用的軟件,相當(dāng)于你可以使用這種軟件來達到免費享受空間音樂播放器的母的。空間音樂克隆器免費下載大全小編主要整理了一些主流的空間音樂克隆器免費給大家分享,也是用戶比較多的幾款,小編都已經(jīng)...更多>>

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)