1. 空壳 进程 kcrlshell 主进程,加载界面+功能模块。
2.
MainWnd::OnCreate == > MainWnd::OnCreate == > InitKClear(); ==> 加载 kclear.dll 导出函数 CreateKClearObject
KClear.dll 返回 IKClear* m_piKClear 接口给 kcrlshell.exe 。
kclear.dll 初始化时,创建自己的窗口,
1. CUIHandlerOpt::Init() ==》加载 trackcleaner.dll
返回接口
m_pCleanMgr
m_pCleanPrc
2. CUIHandlerOnekey::_LoadProvider() ==》加载 trashcleaner.dll regcleaner.dll
3. CUIHandlerBigFile ==》加载 fcache.dll
由KClear.dll统一创建主窗口+加载子模块功能。
m_handlerOpt.Init();
m_handlerOnekey.Init();
m_handlerBigFile.Init();
功能接口加载 + 界面 初始化。。
典型的 MVC 结构,,功能界面分离。。
值得借鉴的模板。