在S60v和v5上探測正在運行的widget和關閉widget

(這個方法在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

 

 

 

 

這樣就關閉了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章