  由于 DialogBox 插件使用的是模态对话框，模态对话框的句柄是在对话框创建出来才能取得，并不能直接返回。
  模态对话框内部有消息循环以及禁用父窗口的功能，可自动禁止在窗口未关闭时返回父窗口进行其他操作，同时
  父进程挂起并等待对话框关闭。在对话框尚未创建时，窗口以及控件的信息都是在内存中完成初始化，只有在调
  用 DialogBox::Show 函数的时候对话框才被创建。
 
  因为无法在窗口创建之前取得句柄，因为此插件增加了一个对话框初始化函数的 OnInit 函数，当对话框初始化
  时在此函数内才能取得窗口句柄，同时可取得其他所需控件句柄。
 
  下面列出了 DialogBox 插件与 nsDialogs 的区别：
 
     函数名称                  参数                                说明(所有“返回”均指通过 NSIS 堆栈返回)
 
  1. DialogBox::Init           宽 高 标题                          初始化对话框，返回内存申请结果 ok 或 error。
     nsDialogs::Create         无参数                              创建对话框，返回对话框句柄或 error。
 
  2. DialogBox::AddItem        类 样式 扩展样式 左 上 宽 高 标题   向内存中的对话框预添加控件，返回控件 id 或 error。
     nsDialogs::CreateControl  类 样式 扩展样式 左 上 宽 高 标题   创建控件，返回控件句柄或 error。
 
  3. DialogBox::OnInit         函数地址                            当对话框初始化时调用，返回对话框句柄。
     nsDialogs                 (无此函数)                          无
 
  4. DialogBox::OnClose        函数地址                            当对话框关闭时调用，堆栈无返回。
     nsDialogs::OnBack         函数地址                            当点击上一步时调用，堆栈无返回。
 
  5. DialogBox::OnClick        控件ID   函数地址                   当控件点击时调用，返回控件句柄。
     nsDialogs::OnClick        控件句柄 函数地址                   当控件点击时调用，返回控件句柄。
 
  6. DialogBox::OnChange       控件ID   函数地址                   当控件内容改变时调用，返回控件句柄。
     nsDialogs::OnChange       控件句柄 函数地址                   当控件内容改变时调用，返回控件句柄。
 
  7. DialogBox::OnNotify       控件ID   函数地址                   当窗口收到 WM_NOTIFY 时调用，返回控件句柄、通知代码及 NHHDR 结构体指针。
     nsDialogs::OnNotify       控件句柄 函数地址                   当窗口收到 WM_NOTIFY 时调用，返回控件句柄、通知代码及 NHHDR 结构体指针。
 
  8. DialogBox::Show           无参数                              创建并显示已在内存中初始化完成的对话框，堆栈无返回。
     nsDialogs::Show           无参数                              显示已创建成功的对话框，堆栈无返回。
 
  以下函数完全相同：
 
  9. DialogBox::createTimer
     nsDialogs::CreateTimer
     
  10.DialogBox::killTimer
     nsDialogs::KillTimer
