• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            franksunny的個(gè)人技術(shù)空間
            獲得人生中的成功需要的專注與堅(jiān)持不懈多過天才與機(jī)會(huì)。 ——C.W. Wendte

             先聲明一下,下面的這段代碼是調(diào)用系統(tǒng)的瀏覽器實(shí)現(xiàn)網(wǎng)頁(yè)瀏覽的功能,很顯然這是一種比較簡(jiǎn)單的方法,但是它的可控制性就不行了,例如左軟鍵的內(nèi)容你是肯定該不了的。如何寫一個(gè)自己的瀏覽器,而不調(diào)用系統(tǒng)的,等以后做出來(lái)再說吧。

            調(diào)用系統(tǒng)的瀏覽器來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)瀏覽可以根據(jù)系統(tǒng)瀏覽器的狀態(tài)而決定調(diào)用的方法,例如當(dāng)系統(tǒng)瀏覽器正在使用的時(shí)候可以用TApaTask::SendMessage ()方法;當(dāng)系統(tǒng)瀏覽器沒有被使用的時(shí)候可以用RapaLsSession::StartDocument() 方法。

            下面是實(shí)現(xiàn)代碼:

            TBool CinternetAppUi::ConnectL(const TDesC& addr)

            {

             const TInt KBrowserUid = 0x10008D39;

             TUid id( TUid::Uid( KBrowserUid ) );

             TApaTaskList taskList( CEikonEnv::Static()->WsSession() );

             TApaTask task = taskList.FindApp( id );

             // the system browser is in use

             if ( task.Exists() )

                {

                HBufC8* param8 = HBufC8::NewLC( addr.Length() );

                param8->Des().Append( addr );

                task.SendMessage( TUid::Uid( 0 ), *param8 ); // Uid is not used

                CleanupStack::PopAndDestroy();

                }

             // the system browser is not in use

            else

             {

              RApaLsSession   appArcSession;

              User::LeaveIfError(appArcSession.Connect());    // connect to AppArc server

              TThreadId id;

              appArcSession.StartDocument( addr, TUid::Uid( KBrowserUid ), id );

              appArcSession.Close();

             }

             return ETrue;

            }

            //其中入口參數(shù)addr的格式是4”+” <Space>“+”<Url>”,例如“4  www.google.com。

             

            其中采用以上方法不僅僅可以用于開啟網(wǎng)頁(yè),還可以用于啟動(dòng)安裝sis/sisx,具體示例代碼如下:

            RApaLsSession installSession;

            TThreadId threadId;

            TUid uid;

            uid.iUid = 0x101F875A;

            installSession.Connect();

            installSession.StartDocument(aFileName, uid, threadId);

            installSession.Close();

            該代碼自己沒有親測(cè)過,但是從理論上說應(yīng)該可行,而且有大牛說uid都不用傳進(jìn)去。

            另外播放音樂文件,網(wǎng)上也說可以通過該方法來(lái)實(shí)現(xiàn),Uid分別如下:

            0x102072c3 (from S60 3rd Edition onwards)

            0x6c5b9d2 (S60 2nd Edition)

            RapaLsSession::StartDocument()功能還是很強(qiáng)大的,在這里只做摘錄,以后有機(jī)會(huì)再親測(cè),不過用其打開網(wǎng)頁(yè)的確可行。

             

             

             

             

             

            posted on 2009-08-12 17:36 frank.sunny 閱讀(1077) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++學(xué)習(xí)和實(shí)踐 、symbian 開發(fā)

            常用鏈接

            留言簿(13)

            隨筆分類

            個(gè)人其它博客

            基礎(chǔ)知識(shí)鏈接

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久99国产综合精品女同| 777午夜精品久久av蜜臀| 国产L精品国产亚洲区久久| 一本久久久久久久| 久久夜色撩人精品国产| 亚洲AV日韩精品久久久久| 久久精品一区二区三区不卡| 久久精品无码一区二区app| 久久久久无码精品国产| 久久久精品久久久久特色影视| 亚洲精品乱码久久久久久自慰 | 久久国产三级无码一区二区| 久久无码AV一区二区三区| 国产精品99久久免费观看| 久久天天躁狠狠躁夜夜2020| 久久久免费精品re6| 亚洲一级Av无码毛片久久精品| 久久这里只有精品久久| 伊人久久大香线蕉av一区| 久久精品亚洲男人的天堂| 国产亚洲欧美精品久久久| 久久99久国产麻精品66| 亚洲精品国产自在久久| 一级做a爰片久久毛片16| 国产成人无码久久久精品一| 2020国产成人久久精品| 久久久中文字幕日本| 久久99国产一区二区三区| 亚洲国产成人久久综合一| 国产成人久久精品一区二区三区 | 久久综合丁香激情久久| 国产精品久久免费| 996久久国产精品线观看| AV无码久久久久不卡蜜桃| 久久久久女人精品毛片| 国产∨亚洲V天堂无码久久久| 狠狠综合久久综合88亚洲| 亚洲国产另类久久久精品| 97精品国产97久久久久久免费| 97精品依人久久久大香线蕉97 | 无码国内精品久久人妻蜜桃|