没弄错的话,整个程序的大体结构是Visual Studio生成的
首先来看入口函数_tWinMain
1
先是调用了
OleInitialize(0); //COM initialisieren
_tsetlocale(LC_ALL, TEXT("")); //user-default
初试化COM,后面那个估计是语言相关的东东,后面再查。我对COM技术不太了解,估计是程序用到的某些东西用到COM组件吧。
接下来是
g_Settings.Load();
目测是载入用户配置,单步进入分析
g_Settings 是一个class Settings的全局实例
Settings中N多成员变量,对应每一项配置,
Load()
中首先是设置默认配置,然后载入配置文件,载入书签文件,均是xml文件
均是调用MSXML2 xml解析器的接口,获得所需参数。
2
载入配置和书签后,主函数中开始载入语言包,或者说含有字符串的dll文件。
将界面字符串存入dll,可以较为方便的实现软件多国语言版本。
注意,因为菜单和各个对话框都涉及到界面字符串,故此程序中对话框和菜单资源都在dll文件中
3
开始注册窗口类和加载程序需要的系统dll
处理命令行参数,貌似和批处理有关,暂时没看懂
4
创建并显示窗口,开始消息循环