delphi webbrowser屏蔽右键菜单 防止右键 防止ctrl N

本文介绍了如何在Delphi中通过事件处理和消息过滤,阻止WebBrowser控件中的右键菜单以及防止用户使用Ctrl+N快捷键。通过`ProcessMsg`和`ApplicationEvents1Message`等方法实现对浏览器行为的控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

{
关键字=webbrowser屏蔽右键菜单 防止右键 防止ctrl N
采集软件=MKM - 我的知识管理
采集日期=2023-11-23 21:44:46
数字签名=B1779CEF8D102A9A324F1118A5BD04C2
}

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, ExtCtrls, MSHtml,
AppEvnts, ActiveX,
ComCtrls;

procedure TForm1.ProcessMsg(var Msg: TMsg; var Handled: Boolean);
begin
{webbrowser屏蔽右键菜单
防止右键
防止ctrl+N
}
//防止ctrl+N
if (Msg.Message = WM_KEYdown) and (Msg.wParam = 78) and ((GetKeyState(VK_CONTROL) and $8000) <> 0) then
begin
Handled := true;
exit;
end;
//防止右键
if (Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONUP) or (Msg.Message = WM_CONTEXTMENU) then
begin
Handled := true;
exit;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Silent := true;
Application.OnMessage := ProcessMsg;
end;

procedure TForm1.ApplicationEvents1ActionExecute(Action: TBasicAction;
var Handled: Boolean);
begin
end;
//屏蔽右键菜单

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
with Msg do
begin
if not IsChild(WebBrowser1.Handle, hWnd) then exit;
Handled := (Message = WM_RBUTTONDOWN) or (Message = WM_RBUTTONUP) or (Message = WM_CONTEXTMENU);
end;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值