1、IP Messenger源代碼的下載
在寫這篇文章時,IP Messenger的最新版本是2.06,因此大家在下載時盡量選擇最新版本下載。IP
Messenger源代碼的下載地址是http://www.ipmsg.org/,在網站的右上角,點擊English
page,網站轉換到英文界面,網站有英文版以及其它語言的版本,當然還有中文版的鏈接(http://www.azhi.net/IPMsg/),建議
大家盡量下載原版的英文版源代碼,以利于學習。
2、IP Messenger源代碼的目錄及文件
IP Messenger源代碼的目錄結構及文件詳見列表1.1 IP Messenger源代碼主要的目錄及文件:
列表1.1 IP Messenger源代碼主要的目錄及文件
屬性 |
名稱 |
描述 |
目錄 |
SRC |
工程文件源代碼和INSTALL目錄 |
文件
|
IPMSG.MAK |
VC4及以前版本使用的工程文件,用來指定如何建立一個工程,VC6把MAK文件轉換成DSP文件來處理 |
IPMSG.MDP |
后綴MDP(Microsoft DevStudio Project的簡稱)是老版本的項目文件,相當于DSP文件 |
PROT-ENG.TXT |
英文版的協議描述 |
PROTOCOL.TXT |
日文版的協議描述 |
README.TXT |
英文版的README |
README-J.TXT |
日文版的README |
IP Messenger的SRC目錄內容描述在列表1.2,SRC目錄及主要文件。
屬性 |
名稱 |
描述 |
目錄 |
INSTALL |
安裝程序源代碼目錄 |
文件 |
BLOWFISH.CPP |
加密算法源文件 |
BLOWFISH.H |
加密算法頭文件 |
BLOWFISH.H2 |
加密算法隨機數頭文件 |
CFG.CPP |
系統配置源文件 |
IPMSG.CPP |
IPMSG的APP源文件 |
IPMSG.H |
IPMSG頭文件 |
LOGDLG.CPP |
日志DLG源文件 |
LOGMNG.CPP |
日志處理源文件 |
MAINWIN.CPP |
IP Messenger主窗口源文件 |
MISCDLG.CPP |
消息DLG,關于DLG,以及控件子類化等源文件 |
MSGMNG.CPP |
Socket管理源文件 |
PLUGIN.CPP |
Dll plugin加載源文件 |
RECVDLG.CPP |
接收消息處理源文件 |
SENDDLG.CPP |
發送消息處理源文件 |
SETUPDLG.CPP |
IP Messenger屬性配置源文件 |
SHARE.CPP |
文件傳輸接收管理源文件 |
TAPP.CPP |
應用程序類源文件 |
TDLG.CPP |
DLG類源文件 |
TLIST.CPP |
鏈表類源文件 |
TREGIST.CPP |
注冊表操作類源文件 |
TWIN.CPP |
窗口類源文件 |
MSGSTR.H |
字符串常量頭文件 |
TLIB.H |
類、結構等頭文件 |
另外在SRC目錄下,還有一個INSTALL目錄,該目錄中的文件是IP Messenger安裝程序的源代碼,其主要文件描述在列表1.3 INSTALL目錄主要文件。
列表1.3 INSTALL目錄主要文件
屬性 |
名稱 |
描述 |
文件 |
INSTALL.CPP |
安裝程序源文件 |
INSTALL.H |
安裝程序頭文件 |
以上是IP Messenger的主要目錄及其主要源文件的描述,通過列表我們可以清晰看出IP Messenger的功能分布。在以下的詳細分析中,我們主要圍繞著這些源文件而展開。
3、IP Messenger源代碼的工程轉換
由于IP Messenger是使用以前版本的VC編寫的,因此在打開工程文件時,需要轉換該工程文件為VC6版本的工程文件。
雙擊打開IPMSG.MDP文件,系統提示轉換IPMSG.MAK工程配置文件到VC6下的工程文件,如下圖所示。

單擊 “是”按鈕,確定將工程轉換成VC6的工程。系統提示將MAK工程文件轉換成DSP工程文件,如下圖所示。

單擊“確定”按鈕,系統根據MAK文件生成IPMSG.DSP文件,以及VC6下的IPMSG.DSW文件,另外系統還生成了IPMSG.NCB和IPMSG.OPT兩個文件。
4、IP Messenger的工程配置
IP Messenger的配置和目前VC6的工程配置有些不同,其安裝工程文件和工程文件在混合在一起,不像VC6工程文件,不同的工程在不同的項目下,分別進行配置。
單擊“Build”菜單,選擇“Set Active Configuration…”,彈出“Set Active Project Configuration”對話框,如下圖所示。

IP
Messenger的工程配置有6個,分別是Release的英文、日文以及Debug的ipmsg工程和安裝工程。通過選擇不同的配置,可以編譯出不同
的工程。根據需要,我們選擇ipmsg-Win32 Debug配置作為當前活動工程,此編譯配置可以編譯出Debug版的ipmsg。
單擊“Project”菜單,選擇“Settings…”,彈出“Project Settings”對話框,選擇“C/C++”標簽欄,如下圖所示。

可以看到,在“Preprocessor definition:”中,工程使用了“JAPANESE”宏定義,也就是說,編譯后的Debug版的ipmsg是日文版。當然,可以根據需要,修改此宏為“ENGLISH”,就可以編譯出Debug版的英文ipmsg。
當然,在以后的分析中,我們將分析ipmsg的安裝工程,那么就應當選擇ipmsg-Win32 InstallerDbg配置作為當前活動工程,編譯出Debug版的安裝工程。