中国移动飞信的研究 笔记二
经过 上一篇 的查看飞信 里面 封装了不少。 这里面不仅是一层加一层,而且是这一层还调用另外的程序集。类与类之间的组合、继承可谓是 很复杂。到底从哪里下手呢。 我本次研究 也不是为了彻底的研究它,也就是他的一些基本功能的研究。顺便,将一些类弄清楚。最后还是按照程序的 运行顺序一步一步的来研究吧。按照功能分析。
声明:个人并非侵犯 移动公司的权益。此笔记纯属个人学习的记录。若移动不同意,我立马将这些文档删除!希望各位见谅!
下面就将程序的包含主函数的Program 发出来:
此程序里引用了 Windows的API。
引用这些API 据我 查看应该是 保证程序有足够的 权限来运行!
由 Application.Run(new MainForm(args)); 可以看出,首先是调用了主界面 MainForm。
其中,args 为传递过来的参数。
下面是 MainForm的源代码: 由于程序源代码多大 3200多行,IE打开会很慢,所以只列出重要代码!
if (this.TryCheckSingleton())
{
CallMeHelper.TrySendCallMeMessage(args, base.Handle);
Environment.Exit(0);
}
else
{
if (this.ExistFetionInstance())
{
if (CallMeHelper.TrySendCallMeMessage(args, base.Handle))
{
Environment.Exit(0);
return;
}
}
这里可以看出 飞信程序一台机器只能登陆一个。保证了程序的唯一性。
由于主界面里功能很复杂,篇幅太长这里就不解释了。