(这个方法在v3上也测试过了。)
首先需要去Symbian.org下载开源的Symbian3
至少要下到binaries_epoc.zip,binaries_winscw.zip,binaries_armv5.zip,src_oss_app.zip
解压缩,得到epoc32目录
复制epoc32/include/platform到v5模拟器里的epoc32/include/platform里
复制epoc32/release/armv5/lib/widget* 到模拟器的 epoc32/release/armv5/lib
同样要复制wincw里的widget库到模拟器
在src_oss_app.zip里找源文件
tsfswidgetlist.h
tsfswidgetlist.cpp
得到CTsFsWidgetList
这个类可以得到当前的widget运行列表
先通过CTsFsWidgetList::InitializeWidgetListL()刷新列表。
再通过CTsFsWidgetList::RunningWidgets()访问列表
--------------------------------------------------------------------------------------------------------------------
关闭widget
关闭widget的方法比较诡异。
在程序列表里看不到widget的名称,只能看到WidgetUI的程序。
每个widget都有一个widgetUI作为容器。
要关闭widget,必须向widgetUI发送消息。
首先通过CApaWindowGroupName获得一个WidgetUI的window group id。
根据前面的widgetlist我们知道那些widget在运行,并能得到uid。
假设关闭UID
这样就关闭了