void OnTitleChangedCallback(IntPtr webView, IntPtr param, IntPtr title) { if (OnTitleChangeCall != null) { OnTitleChangeCall(BlinkBrowserPInvoke.Utf8IntptrToString(BlinkBrowserPInvoke.wkeGetString(title))); } }
void OnUrlChangedCallback(IntPtr webView, IntPtr param, IntPtr url) { if (OnUrlChangeCall != null) { OnUrlChangeCall.Invoke(BlinkBrowserPInvoke.wkeGetString(url).Utf8IntptrToString()); } //Console.WriteLine("OnUrlChangedCallback:URL:" +); }
void OnwkeConsoleMessageCallback(IntPtr webView, IntPtr param, wkeConsoleLevel level, IntPtr message, IntPtr sourceName, int sourceLine, IntPtr stackTrace) { //Console.WriteLine("Console level" + level); Console.WriteLine("Console Msg:" + BlinkBrowserPInvoke.wkeGetString(message).Utf8IntptrToString()); //Console.WriteLine("Console sourceName:" + wkeGetString(sourceName).Utf8IntptrToString()); //Console.WriteLine("Console stackTrace:" + wkeGetString(stackTrace).Utf8IntptrToString()); //Console.WriteLine("Console sourceLine:" + sourceLine); }
IntPtr OnwkeCreateViewCallback(IntPtr webView, IntPtr param, wkeNavigationType navigationType, IntPtr url) { if (OnCreateViewEvent != null) { return(OnCreateViewEvent(webView, param, navigationType, BlinkBrowserPInvoke.wkeGetString(url).Utf8IntptrToString())); } else { Console.WriteLine("OnwkeCreateViewCallback url:" + BlinkBrowserPInvoke.wkeGetString(url).Utf8IntptrToString()); Console.WriteLine("OnwkeCreateViewCallback navigationType:" + navigationType); return(webView); } }
void OnwkeLoadingFinishCallback(IntPtr webView, IntPtr param, IntPtr url, wkeLoadingResult result, IntPtr failedReason) { //Console.WriteLine("call OnwkeLoadingFinishCallback:" + wkeGetString(url).Utf8IntptrToString()); //Console.WriteLine("call OnwkeLoadingFinishCallback result:" + result); if (result == wkeLoadingResult.WKE_LOADING_FAILED) { Console.WriteLine("call OnwkeLoadingFinishCallback 加载失败 failedReason:" + BlinkBrowserPInvoke.wkeGetString(failedReason).Utf8IntptrToString()); HTML = "<h1>" + BlinkBrowserPInvoke.wkeGetString(failedReason).Utf8IntptrToString() + "</h1>"; } else { this.url = BlinkBrowserPInvoke.wkeGetString(url).Utf8IntptrToString(); //Console.WriteLine("call OnwkeLoadingFinishCallback:成功加载完成。" + wkeGetString(url).Utf8IntptrToString()); } }
void OnUrlChangedCallback2(IntPtr webView, IntPtr param, IntPtr frameId, IntPtr url) { if (frameId.ToInt32() == 1)//主窗口才触发事件 { string nowURL = BlinkBrowserPInvoke.wkeGetString(url).Utf8IntptrToString(); if (!regex.IsMatch(nowURL)) { if (OnUrlChange2Call != null) { OnUrlChange2Call(nowURL); } } else { //错误不触发改变事件 } } }
public List <PostBody> GetBodys() { List <PostBody> posts = null; if (IsPostMethod()) { IntPtr elementsPtr = BlinkBrowserPInvoke.wkeNetGetPostBody(job); if (elementsPtr != IntPtr.Zero) { try { wkePostBodyElements elements = (wkePostBodyElements)Marshal.PtrToStructure(elementsPtr, typeof(wkePostBodyElements)); if (elements.element != IntPtr.Zero) { posts = new List <PostBody>(); for (int i = 0; i < elements.elementSize; i++) { IntPtr item = Marshal.ReadIntPtr(elements.element, i); wkePostBodyElement e = (wkePostBodyElement)Marshal.PtrToStructure(item, typeof(wkePostBodyElement)); try { PostBody body = new PostBody(); body.fileLength = e.fileLength; body.fileStart = e.fileStart; body.fileStart = e.fileStart; body.filePath = e.filePath == IntPtr.Zero ? null : Marshal.PtrToStringAnsi(BlinkBrowserPInvoke.wkeGetString(e.filePath)); if (e.data != IntPtr.Zero) { wkeMemBuf buf = (wkeMemBuf)Marshal.PtrToStructure(e.data, typeof(wkeMemBuf)); if (buf.data != IntPtr.Zero) { body.data = BlinkBrowserPInvoke.IntptrToBytes(buf.data, buf.length); } } posts.Add(body); } finally { // BlinkBrowserPInvoke.wkeNetFreePostBodyElement(item); } } } } catch { // MessageBox.Show("出错:" + e.Message + "\n" + e.StackTrace); } finally { BlinkBrowserPInvoke.wkeNetFreePostBodyElements(elementsPtr); } } } return(posts); }