本篇文章给大家谈谈DelphiChromium–当用户点击网页中的按钮时,在Delphi应用程序中启动命令,同时本文还将给你拓展Delphi:WebBrowser、MSHTML在Delphi中的使用、
本篇文章给大家谈谈Delphi Chromium – 当用户点击网页中的按钮时,在Delphi应用程序中启动命令,同时本文还将给你拓展Delphi : WebBrowser、MSHTML在Delphi中的使用、Delphi Chromium Embedded – 使用F5刷新页面、Delphi Chromium Embedded带来的麻烦、Delphi Chromium嵌入在DLL表单上等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- Delphi Chromium – 当用户点击网页中的按钮时,在Delphi应用程序中启动命令
- Delphi : WebBrowser、MSHTML在Delphi中的使用
- Delphi Chromium Embedded – 使用F5刷新页面
- Delphi Chromium Embedded带来的麻烦
- Delphi Chromium嵌入在DLL表单上
Delphi Chromium – 当用户点击网页中的按钮时,在Delphi应用程序中启动命令
我想要以下行为:
当用户单击网页中的特定按钮时,Delphi应用程序(“容器”)必须执行命令(使用…启动外部可执行文件).
可能吗 ?
解决方法
由于您实际上已经为点击事件请求了DOM事件监听器,请检查以下示例监听Google搜索按钮单击事件(ID为gbqfba的元素):
uses ShellAPI,cefvcl,ceflib; procedure TForm1.Button1Click(Sender: TObject); begin Chromium1.Load('www.google.com'); end; procedure OnClickEvent(const AEvent: ICefDomEvent); begin ShellExecute(Form1.Handle,nil,'notepad.exe',SW_SHOWnorMAL); end; procedure OnExploreDOM(const ADocument: ICefDomDocument); var DOMNode: ICefDomNode; begin DOMNode := ADocument.GetElementById('gbqfba'); if Assigned(DOMNode) then DOMNode.AddEventListenerProc('click',True,OnClickEvent); end; procedure TForm1.Chromium1LoadEnd(Sender: TObject; const browser: ICefbrowser; const frame: ICefFrame; httpStatusCode: Integer; out Result: Boolean); begin if Assigned(frame) then begin // here you should check the frame.Url to verify if you're on the right URL // before you try to search for the element and attach the event if found frame.VisitDomProc(OnExploreDOM); end; end;
Delphi : WebBrowser、MSHTML在Delphi中的使用
总结
以上是小编为你收集整理的Delphi : WebBrowser、MSHTML在Delphi中的使用全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Delphi Chromium Embedded – 使用F5刷新页面
如何模拟F5键刷新页面?
解决方法
OnKeyEvent
中使用以下代码:
uses CEFLib; procedure TForm1.Chromium1KeyEvent(Sender: TObject; const browser: ICefbrowser; event: TCefHandlerKeyEventType; code,modifiers: Integer; isSystemKey: Boolean; out Result: Boolean); begin if (event = KEYEVENT_RAWKEYDOWN) and (code = VK_F5) then begin Result := True; Chromium1.browser.Reload; end; end;
Delphi Chromium Embedded带来的麻烦
几个星期前,我下载了Delphi Chromium Embedded的Revision 306,并将其安装在Delphi XE的新副本上.现在,这是从DCEF Google Code页面的“下载”部分抓取的.
我注意到的第一件事是该网站提到支持Delphi XE,但没有专门为XE包含的项目包.当然,我安装了适用于Delphi 2010的软件包,因为XE2的软件包不能用于FMX,也许还有其他一些东西(?).
在过去使用过D7的旧版本时,我自然地在表单上删除了TChromium,将默认URL设置为http:// foundry-local / assist / node /,然后运行应用程序.这是我受到的欢迎:
Exception EExternal Exception in libcef.dll … External Exception 80000003.
无法在新的Google群组中发布任何内容(他们在“代码”页面上禁用了问题跟踪器),所以我想我会来这里弄清楚发生了什么.但就在此之前,我决定从主干中检出最新的代码构建.成功安装(仍然没有XE包),在空白表单上删除TChromium,然后运行应用程序.这次我受到如下欢迎:
Exception EReadError in module FoundryAssistNodeManager.exe at 0004BE24. Error reading Chromium1.Options.AcceleratedCompositingEnabled: Invalid property path.
因此:我真的很困惑.
(Edit: The app can see the core libraries,and they are being picked up.)
有没有其他人在Delphi XE上使用DCEF时遇到问题?如果是这样,任何人都有某种解决方案?
看,我正在为我即将发布的产品构建一个定制的帮助平台.使用IE是不可靠的,Gecko的组件不再开发.
任何提示,指导都会很棒.提前感谢你们.
解决方法
非常简单:升级到DCEF3.
我当地的一些开发人员也报告了同样的问题,没有明显的修复.使用版本3解决了这个问题.
对于上述评论者,感谢您尽可能提供帮助.非常感激.
Delphi Chromium嵌入在DLL表单上
我如何正常使用TChromium组件的表单卸载DLL?
解决方法
如果您创建了应用程序对象的实例,则在执行卸载DLL之前,destroy会实例化应用程序.
关于Delphi Chromium – 当用户点击网页中的按钮时,在Delphi应用程序中启动命令的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Delphi : WebBrowser、MSHTML在Delphi中的使用、Delphi Chromium Embedded – 使用F5刷新页面、Delphi Chromium Embedded带来的麻烦、Delphi Chromium嵌入在DLL表单上的相关知识,请在本站寻找。
本文标签: