(這個方法在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
這樣就關閉了