vb屏蔽文本框点右键时的弹出菜单

----------以下代码在模块

程序代码: 
Option Explicit 

Public Declare Function SetWindowLong Lib "user32" Alias _ 
 "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, _ 
 ByVal dwNewLong As Long) As Long 
  
Public Declare Function CallWindowProc Lib "user32" _ 
 Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _ 
 ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, _ 
 ByVal lParam As Long) As Long 

Public Const GWL_WNDPROC = (-4) 

Public Const WM_CONTEXTMENU = &H7B 

Global lpPrevWndProc As Long 
Global gHW As Long 

Public Sub Hook() 
 lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, _ 
 AddressOf gWindowProc) 
End Sub 

Public Sub Unhook() 
 Dim temp As Long 
 temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc) 
End Sub 

Public Function gWindowProc(ByVal hWnd As Long, ByVal Msg As Long, _ 
 ByVal wParam As Long, ByVal lParam As Long) As Long 
 If Msg = WM_CONTEXTMENU Then 
 Debug.Print "Intercepted WM_CONTEXTMENU at " & Now 
 gWindowProc = True 
 Else ' Send all other messages to the default message handler 
 gWindowProc = CallWindowProc(lpPrevWndProc, hWnd, Msg, wParam, _ 
 lParam) 
 End If 
End Function 
 --------以下代码在 窗体

程序代码: 
Option Explicit 

Public Declare Function SetWindowLong Lib "user32" Alias _ 
 "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, _ 
 ByVal dwNewLong As Long) As Long 
  
Public Declare Function CallWindowProc Lib "user32" _ 
 Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _ 
 ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, _ 
 ByVal lParam As Long) As Long 

Public Const GWL_WNDPROC = (-4) 

Public Const WM_CONTEXTMENU = &H7B 

Global lpPrevWndProc As Long 
Global gHW As Long 

Public Sub Hook() 
 lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, _ 
 AddressOf gWindowProc) 
End Sub 

Public Sub Unhook() 
 Dim temp As Long 
 temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc) 
End Sub 

Public Function gWindowProc(ByVal hWnd As Long, ByVal Msg As Long, _ 
 ByVal wParam As Long, ByVal lParam As Long) As Long 
 If Msg = WM_CONTEXTMENU Then 
 Debug.Print "Intercepted WM_CONTEXTMENU at " & Now 
 gWindowProc = True 
 Else ' Send all other messages to the default message handler 
 gWindowProc = CallWindowProc(lpPrevWndProc, hWnd, Msg, wParam, _ 
 lParam) 
 End If 
' http://baidu.bhdata.com
End Function

摘自:网络整理

相关参考

vb屏蔽文本框点右键时的弹出菜单

VB 小技巧自定义TextBox文本框右键菜单

VB 自启动建立右键菜单

VB在菜单上增加图标

vbListBox 之中点击右键弹出菜单

【引用】在VB6.0中实现弹出式菜单的几种方法

vb中实现真正锁定的带自定义菜单的文本控件

记录一下:在菜单上添加自绘图形的例子(VB6代码)


VB部分相关推荐

VB快速读取 TextBox N 行的资料

VB禁止使用 Alt-Tab Ctrl-Alt-Del

生成迷宫的程序

另一方法转换大小写

VB控件注册 - 利用资源文件将dllocx打包进exe文件

VB利用资源文件进行工作

[]vb高效编程(优化)

VB阳历转阴历

VB代码取得硬盘的物理序列号

VB获得磁盘的文件系统

VB的,经常注册和反注册OCX控件和DLL

VB从程序中生成Exe文件

VB6监视/操作剪贴板示例(VB6.0代码)

VB6里自动提交/自动填表的一种相对通用的方案

VB移动没有标题的窗体

VB随机字母的函数

VB删除带子文件夹和文件的文件夹

VB怎样屏蔽 Alt+F4

VB 隐藏进程

vb屏蔽文本框点右键时的弹出菜单

VB手控Combobox的打开或收起

VBINI文件的读写、删除(对中文支持很好)

vb全局热键的写法(占很少的资源)

vb取消文本框的粘贴功能

VB常用文件操作类

VB获取特殊文件夹

VB获取windows各常用目录的函数(模块)

VB生成太极图

VB:常用内部函数大全,你会了几个呢?

vbSendMessage函数

精简VB程序的代码

VB:将数字转换为大写中文

VB:设定 MsgBox 在若干时间之后若无回应则自动关闭

VB:读取及设定NumLock/CapsLock/ScrollLock的值

VB:您知道 Mid$ 函量可以放在 '=' 的左方吗

VB后台获得按键,并执行自己的函数(非钩子及热键)

VB:将短文件名格式转成长文件名

vb中使用Iphlpapi.dll获取网络信息(上)

vb中使用Iphlpapi.dll获取网络信息(下)

更多精彩>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值