两种办法:
Private
Function
MyWndProc(ByVal
hwnd
As
Long,
ByVal
message
wParam
lParam
Long)
Long
Select
Case
case
WM_RBUTTONDOWN:
exit
function
End
MyWndProc
=
CallWindowProc(oldWin_proc,
hwnd,
message,
wParam,
lParam)
把要屏蔽的控件的消息处理程序用MyWndProc来取代替
可以在mouse的按键时间里面
判断:
如果button=rightbutton
button=0
接收事件是无法屏蔽的,但是你可以不处理这个事件啊,就当它没发生不就行了
Sub
Form_Resize()
'在窗口的改变大小时所触发的事件
On
Error
Resume
Next
'有错误跳到下一条继续执行
Form1.Height
'设定窗口高
Form1.Width
'设定窗口宽
很简单,你怎么不先问我,还在这提问.用api函数,钩子,设置成全局钩子,然后对钩取来的message消息不做处理,也不返回,这样屏蔽了键盘了.钩子函数api好像是什么hook的那个,还有钩子函数的返回函数,以整个自定义函数的指针作参数
很简单,通过WindowsAPI,删除窗体菜单项就行了
首先在窗体类中声明API:
其次声明API参数常量:
然后在窗体类中写入过程:
Private Sub UserForm_Initialize_stopmove() '禁止窗体移动
? ? Dim lngHwnd As IntPtr
? ? Dim lngHmenu As IntPtr
? ? lngHwnd = Me.Handle
? ? If lngHwnd 0 Then
? ? ? ? lngHmenu = GetSystemMenu(lngHwnd, False)
? ? ? ? RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0代表菜单中从上往下数第一个菜单项
? ? End If
End Sub
Private Sub UserForm_Initialize_onmove() '恢复窗体移动
? ? ? ? lngHmenu = GetSystemMenu(lngHwnd, True)
RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0与禁止代码中的数值同步,原因时虽然表面上删除了菜单项,实则为隐藏了菜单项,各个菜单的索引值并没有变,所以0依然代表初始菜单的第一个菜单项,即被删除的那个菜单项
然后如果你的窗口菜单是动态变化的,建议声明常数:
Const MF_BYPOSITION As Integer = H0
然后使用相关的Windows功能的常数进行删除菜单.常数需要自行查看winuser.h头文件
如果找不到该头文件,可以看这里:网页链接
其余信息详见MSDN:网页链接
以上就是土嘎嘎小编为大家整理的vb.net实现屏蔽鼠标的简单介绍vb.net实现屏蔽鼠标的简单介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!