本文整理自网络,侵删。
TWebBrowser 屏蔽右键菜单
//Here's the code to disable the context menu (the one a user gets when it right-clicks inside a TWebBrowser) for TWebBrowser in a Delphi application:
function MouseProc(nCode: Integer; wParam, lParam: Longint): LongInt; stdcall;var classbuf: array[0..255] of Char;const ie = 'Internet Explorer_Server';begin case nCode < 0 of True: Result := CallNextHookEx(MouseHook, nCode, wParam, lParam) ; False: case wParam of WM_RBUTTONDOWN, WM_RBUTTONUP: begin GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND, classbuf, SizeOf(classbuf)) ; if lstrcmp(@classbuf[0], @ie[1]) = 0 then Result := HC_SKIP else Result := CallNextHookEx(MouseHook, nCode, wParam, lParam) ; end else begin Result := CallNextHookEx(MouseHook, nCode, wParam, lParam) ; end; end; //case wParam end; //case nCodeend; (*MouseProc*)
//Form OnCreateprocedure TWebBrowserForm.FormCreate(Sender: TObject) ;begin MouseHook := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId()) ;end;
//Form OnDestroyprocedure TWebBrowserForm.FormDestroy(Sender: TObject) ;begin if MouseHook <> 0 then UnHookWindowsHookEx(MouseHook) ;end;
If you want to find more about Windows hooks, read the :An introduction to hook procedures
相关阅读 >>
Delphi xe, xe10, 创建 activeform 和 activex 工程的方法
Delphi datasnap(midas)三层架构中,常用事件及其触发顺序
Delphi d10.x 在安卓app开发中使用jar包的注意事项
Delphi getexplorerpid获取系统explorer.exe进程id
Delphi randomfrom 随机返回字符串数组avalues中的一个元素
更多相关阅读请进入《Delphi》频道 >>