c#winform使用webkit自定义扩展

来源:互联网 发布:mac关闭标签页快捷键 编辑:程序博客网 时间:2024/06/05 00:14
最近研究了用webkit来做界面,非常舒服,主要实现就是webkit与winform的交互,那么就需要扩展webkit,增加一个函数可以调用c#的函数,同时webkit已经可以对document执行invokescript,因此需要下载webkit源码,在DOMWindow.cpp中增加你想要要函数void DOMWindow::ExternalCall(const String& page, const String& action,const String& param){ if (!m_frame) return; m_frame->document()->updateStyleIfNeeded(); Page* page = m_frame->page(); if (!page) return; page->chrome()->runExternalCall(m_frame, message);}===================同时需要在WebChromeClient.cpp种增加对应的执行函数//page是用来标示页面,日后可以跨页面调用,action是方法名称,param是参数,这里可以用json的string作为参数,void WebChromeClient::runExternalCall(Frame*, const String& page, const String& action,const String& param){ COMPtr ui; if (SUCCEEDED(m_webView->uiDelegate(&ui))) ui->ExternalCall(m_webView, BString(page),BString(action),BString(param));}===================同事需要在UIDelegate增加对应的接口文件,IWebUIDelegate.idlHRESULT ExternalCall([in] IWebView* sender, [in] BSTR page, [in] BSTR action, [in] BSTR param);编译后,就可以在webkitbroswer增加UIDelegate中增加一个接口实现
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 卧室门对着过道怎么办 有墙角对着窗户怎么办 卧室门对着墙角怎么办 冰箱和大门对着怎么办 冰箱对着入户门怎么办 哪来的大路对门怎么办 卧室窗户对着路怎么办 床尾对着窗户怎么办 床头对着厕所门怎么办 5楼阳台对着马路怎么办 宿舍门对着楼梯怎么办 如果镜子对着门怎么办 厕所门对着厨房怎么办 客厅门对着大门怎么办 床头对着厕所墙怎么办 被小狗舔了伤口怎么办 狗狗伤口好不了怎么办 狗的伤口发炎了怎么办 大门正对房门该怎么办 房门正对厕所门怎么办 浴室镜子对着门怎么办 房间门正对厕所怎么办 厕所斜对着大门怎么办 刚开麻将馆没人怎么办 入户门正对电梯怎么办 电梯对着入户门怎么办 电梯门对着房门怎么办 厨房门对入户门怎么办 餐桌对着入户门怎么办 房门正对楼梯下怎么办 电梯门对着家门怎么办 壁纸上的泡沫胶怎么办 卧室镜子对着门 怎么办 电视对着厨房门怎么办 厨房门对着大门怎么办 厨房对着入户门怎么办 入户门正对厨房怎么办 入户门对厨房门怎么办 入户门正对窗户怎么办 入户门对着餐厅怎么办 大门正对卧室门怎么办