一步一步開發sniffer(Winpcap+MFC)(二)掀起你的蓋頭來,讓我來畫你的臉——用MFC開發GUI

         書接上回,由於前段時間較忙,都沒心思來寫這個了,兩章之間的間隔有點久了,後來……*&&……%*&……發生了很多事,又重裝了系統,還重裝了VS,現在是VS2010,前面說的是基於VS2008的,但是沒關係,二者大同小異,沒太大差別,不影響理解,有不便的請原諒(不想再裝VS2008了,裝一次要好久- -!

         扯多了,進入正題,本節主題是寫GUI,下面開始。 

         第一步,打開VS,新建工程,選擇“MFC應用程序”,如下圖:

     

         輸入工程名,我這裏命名爲lixsniff,其他的沒什麼了,點擊“確定”,進入下面這個畫面,選擇“基於對話框(再多解釋下,“單文檔”、“多個文檔”是應用於多窗口之類較爲複雜的界面,我們這個程序很簡單,在一個界面上就完成所有的事,所以就先最簡單的“基於對話框”

   

 

         其他的沒什麼,點擊“完成”,進入下面的畫面,可以看到畫面中間,寫有“TODO:在此放置對話框控件”的窗口,這就是我們要畫的GUI的底板啦:

                 

         下面把這個“底板”適當的調整一下大小,直接用鼠標拖就行了,選中按delete把默認生成的“確定”和“取消”按鈕刪了,我們用不着,結果如下圖:

              

         MFCGUI非常的方便,直接在控件庫裏拖動就行了,下面按照上一節最開始看到的最終效果圖來一步一步添加控件,點擊右側的“工具箱”,可以看到有很多可供選擇,如下圖:

    

         第一步,添加下拉列表,點擊“工具箱”,選擇“combo box”,在“底板”上拖動,增添一個合適長寬的控件,然後右鍵點擊此控件,選擇“屬性”,在“外觀-Type”欄中選擇“DropList”,再複製粘貼一個此控件,整體情況,如下圖:

    

         下一步,添加四個按鈕:開始、結束、保存、讀取。點擊“工具箱”中的“button”,在“底板”增添一個適當大小的的按鈕,點擊此按鈕,把“外觀-Caption”修改爲“開始”,這樣,按鈕上的文字就被設置爲“開始”了,其他三個按鈕方法相同,結果如下:

       

        第三步,添加列表,用來顯示接受到的包信息,點擊“工具箱”,選擇“List Control”,添加一個適當大小的列表框控件,設置其屬性,“外觀-View”項設置爲“Report”,“外觀-single selection”設置爲“true”,如下圖:

     

第四步,添加樹形列表,顯示每一個包的具體字段信息,點擊“工具箱”,選擇“Tree Control”,添加一個合適大小樹形列表控件,將其“屬性”中的“外觀”下面的“Full Row Select”、“Has Buttons”、“Info Tip”、“Lines At Root”均設置爲“True”,如下圖:

 

第五步,添加文本框,顯示數據包的二進制信息,添加一個合適大小的“Edit Control”,將“Multiline”、“Readonly”、“Auto Vscroll”、“Horizon Scroll”、“Vertical Scroll”均設置爲“True”,如下圖:

 

最後,再添加若干適當大小“Edit Control”及“Static Text”,用於顯示,並添加一個“Group Box”它們包圍起來,具體步驟就不詳述了,見下圖:

 

至此爲止,所有的GUI算是畫完了,表面上是完成了,但是實際上還有些數據及屬性的設置需要通過後臺對相應的控件來完成,如何實現這一點,將在最後一章“千呼萬喚始出來,不抱琵琶也露面——將解析數據寫到GUI上”詳細闡述。

    下一章得廣廈千萬間,先畫藍圖再砌磚——搭建winpcap抓包框架”將進入最核心的編程,使用winpcap搭建起一個抓包框架。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章