首页 > 其他分享 >delphi webbrowser屏蔽右键菜单 防止右键 防止ctrl N

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

时间:2024-08-21 21:53:24浏览次数:8  
标签:end ctrl WM 右键 防止 Msg Message

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

{
关键字=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;
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/fogbow622/article/details/134673998

标签:end,ctrl,WM,右键,防止,Msg,Message
From: https://www.cnblogs.com/ynmsnc/p/18372633

相关文章

  • 防止重复下单
    一、如何避免重复下单前端页面也可直接防止用户重复提交表单,但网络错误会导致重传,很多RPC框架、网关都有自动重试机制,所以重复请求在前端侧无法完全避免!问题最后还是如何保证服务接口的幂等性。1.1如何判断请求是重复的插入订单前,先查一下订单表,有无重复订单?难以用SQL条件......
  • 启动按ctrl键 屏蔽自动隐藏功能
      [DllImport("User32.dll",EntryPoint="ShowWindow")]privatestaticexternboolShowWindow(IntPtrhWnd,inttype);   #region启动按ctrl键屏蔽自动隐藏功能    boolforceUpdate=(Control.ModifierKeys&Keys.Control)==Keys.Cont......
  • 易优CMS数据字典 请按Ctrl+F,输入表名
    易优CMS数据字典提示:查找数据表,请按Ctrl+F,输入表名。ey_ad表注释:广告表字段类型空默认注释idint(11)否 广告idpidint(11)否0广告位置IDmedia_typetinyint(1)是0广告类型titlevarchar(60)是 广告名称linksvarchar(255)是 广......
  • js阻止右键复制
    $(".article-content-wrap").unbind("copy").bind("copy",(function(e){e.preventDefault()e.stopPropagation()event.clipboardData.setData("text/plain","")Login()//这一句显示为弹出登录框之类的retur......
  • Windows11恢复经典的右键菜单:一条命令解决显示更多选项问题
      https://zhuanlan.zhihu.com/p/706293496修改注册表。需要以管理员身份运行CMD或者Powershell后,输入如下的命令添加一个注册表信息即可:regadd"HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32"/f/ve运行完之后需要重启系统......
  • Socket 可以填IP 域名也行 防止进程修改 计算 脚本跟踪调试 用带编号的日志
    网址带http 域名不带http 实例:  www.dududu.compp.com人家这域名就这样的带斜杠的是目录php的网址域名后面是php的协议,访问的是php的阿帕奇服务器哪一个是域名是能认出来的  注册表API可以修改操作系统,这玩仍得对照书和应用程序接口网站上面写的函数然后开......
  • 右键菜单简化大师:一键管理,提升你的Windows操作效率
    如果你是一位经常使用电脑的用户,你一定会发现,你的右键菜单越来越臃肿,越来越乱。你可能会看到一些你从来不用,甚至不知道是什么的菜单项,这些菜单项不仅占用了你的屏幕空间,还影响了你的操作效率。有没有一种方法,可以让你自由地管理你的右键菜单,添加,删除,修改,启用,禁用你想要的菜单项......
  • laravel:防止xss攻击
    一,什么是xss?XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得......
  • C# 如何防止WinForm程序多次运行
    [C#开发技巧]如何防止程序多次运行-Learninghard-博客园(cnblogs.com)一、引言最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,如: http://social.msdn.microsoft.com/Forums/zh-CN/6398fb10-ecc2-4c03-ab25-d03544f5fcc9,所以这里就记录下来,希望给遇到同......
  • Windows图形界面(GUI)-MFC-C/C++ - 树形视图(Tree Control) - CTreeCtrl
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​链接点击跳转博客主页目录树形视图(TreeControl)-CTreeCtrl创建和初始化添加和删除项获取和设置项属性操作项项选择变化项双击项展开示例代码树形视图(TreeControl)-CTreeCtrl创建和初始化Subclas......