• <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>
            我要啦免费统计
            HTML與C++交互源碼工程(NPAPI)
            http://bbs.lomox.hk/forum.php?mod=viewthread&tid=36&fromuid=4

            1.本demo的使用前提:html與dll放在一起。接入lomox中則無(wú)需。

            2.在html中寫(xiě)入:
            1. <embedtype="application/npcodeproject"width=800height=200id="plugin">
            復(fù)制代碼
            3.javascript 訪問(wèn)plugin:
            1. PLUGIN = document.getElementById('plugin');
            復(fù)制代碼
            4.在C++中使用Netscape Plug-in API 的指針啟動(dòng)插件就是代碼中的:
            1. NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs)
            復(fù)制代碼
            函數(shù):pFuncs為其的指針

            5.檢查是否有返回信息:
            1. if( !strcmp( "Name", pProp ) )
            2. {
            3.     //allocating Memory 
            4. for the string with invocation of Browser-API
            5.     char *p = 
            6. (char*) NPN_MemAlloc( m_pszName );
            7.     STRINGZ_TO_NPVARIANT( 
            8. p, *result);
            9.     return true;
            10. }
            復(fù)制代碼
            6.調(diào)用接口

            1. <p>bool ScriptablePluginObject::Invoke(NPIdentifier name, const NPVariant *args, 
            2. uint32_t argCount, NPVariant *result)
            3. {
            4.     char *pFunc = 
            5. NPN_UTF8FromIdentifier(name);</p>
            6. <p>    if( !strcmp( "Add", pFunc ) )
            7.     
            8. {
            9.         int sum = 0;</p>
            10. <p>        for( unsigned int i = 0; i < 
            11. argCount; i++ )
            12.         
            13. {
            14.             if( 
            15. args[i].type == NPVariantType_Int32 
            16. )
            17.             
            18. {
            19.                 
            20. sum += 
            21. args[i].value.intValue;
            22.             
            23. }
            24.             else if( 
            25. args[i].type == NPVariantType_String 
            26. )
            27.             
            28. {
            29.                 
            30. CNPString 
            31. s(args[i].value.stringValue);
            32.                 
            33. sum += atoi( s 
            34. );
            35.             
            36. }
            37.             else 
            38. return false;//an error happenend</p>
            39. <p>        
            40. }
            41.         ..
            42. }</p>
            復(fù)制代碼
            7.示例中為編譯后的dll,html,以及一份工程。環(huán)境:vs2008與vs2010 
            下載地址 http://bbs.lomox.hk/forum.php?mod=viewthread&tid=36&fromuid=4  
            posted on 2012-05-28 13:43 閱讀(4275) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            狠狠色丁香久久婷婷综合五月| 99国产精品久久久久久久成人热| 人妻无码中文久久久久专区| 99久久香蕉国产线看观香| 老男人久久青草av高清| 人人妻久久人人澡人人爽人人精品 | 要久久爱在线免费观看| 久久性精品| 亚洲午夜久久久影院伊人| 香蕉久久av一区二区三区| 久久综合综合久久狠狠狠97色88 | 久久一区二区免费播放| 久久人人爽人人爽人人片AV东京热| 亚洲中文字幕久久精品无码喷水| 久久精品无码午夜福利理论片| 久久精品一区二区影院| 欧美熟妇另类久久久久久不卡| 四虎国产精品免费久久久| 亚洲国产成人乱码精品女人久久久不卡 | 国产一区二区精品久久凹凸| 亚洲伊人久久大香线蕉综合图片| 国产成人久久777777| 久久综合给合久久狠狠狠97色| 国产精品99久久久久久www| 色偷偷偷久久伊人大杳蕉| 少妇被又大又粗又爽毛片久久黑人| 日本人妻丰满熟妇久久久久久| 亚洲国产精品综合久久一线| 色综合久久综合网观看| 久久精品中文无码资源站| 亚州日韩精品专区久久久| 狠狠色伊人久久精品综合网| 国产精品久久久久久久久鸭| 久久久久亚洲AV无码网站| 东方aⅴ免费观看久久av| 久久国产欧美日韩精品免费| 国产精品成人99久久久久| 国产AV影片久久久久久| 精品999久久久久久中文字幕| 久久人人妻人人爽人人爽| 三级三级久久三级久久|