如何截获鼠标单击消息
如何截获鼠标单击消息
楼主coolydy(我很衰也很帅)2002-03-13 12:33:30 在 VB / 非技术类 提问我想在工程执行时,在任何地方单击鼠标都处理一个过程,我如何截获这个鼠标单击事件,包括它的坐标位置,谢谢各位!!! 问题点数:0、回复次数:12Top
1 楼coolydy(我很衰也很帅)回复于 2002-03-13 12:35:07 得分 0
希望各位帮这个忙,分不够的可以再加Top
2 楼zerg_79(呆呆虫)回复于 2002-03-13 12:45:30 得分 0
用MouseUp事件,参数中Button判断左右键,X和Y记录的是点击的位置!够详细了吧?Top
3 楼tuoshi(小才-升星开心!)回复于 2002-03-13 12:49:25 得分 0
用MouseDown事件啊,如:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Debug.Print "("; X; ","; Y; ")"
End SubTop
4 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2002-03-13 12:50:13 得分 0
GetCursorPos
VB声明
Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
说明
获取鼠标指针的当前位置
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpPoint POINTAPI,随同指针在屏幕像素坐标中的位置载入的一个结构
Top
Top
5 楼coolydy(我很衰也很帅)回复于 2002-03-13 13:22:34 得分 0
MouseDown几个事件是不行的,我要执行一段代码,在工程的任何地方单击鼠标都会执行的Top
6 楼coolydy(我很衰也很帅)回复于 2002-03-13 13:24:26 得分 0
GetCursorPos只是鼠标的位置,还是不知道鼠标是否单击呀Top
7 楼HowardOK(小B)回复于 2002-03-13 13:36:14 得分 0
如果在自己的窗体之外也要捕捉,那怕VB不易做到!Top
8 楼coolydy(我很衰也很帅)回复于 2002-03-13 14:01:17 得分 0
对,我就是要在自己窗体以外的地方捕捉Top
9 楼lyi()回复于 2002-03-13 14:35:42 得分 0
用SetCapture这个API函数捕捉鼠标Top
10 楼lightning_68(闪电)回复于 2002-03-13 16:32:59 得分 0
pre=getwindowlong(me.hwnd,GWL_WNDPROC)
setwindowlong me.hwnd, GWL_WNDPROC AddressOf WndProc
function WndProc(Byval hwnd as long,byval msg as long,byval wparam as long,byval lparam as long) as long "回调函数
on error resume next
select case msg
case WM_XXXX
处理消息
case else
Wndpro= Callwindowproc(pre,hwnd,msg,wparam,lparam)
end select
end function
setwindowlong from1.hwnd,GWL_WNDPROC,pre
Top
11 楼coolydy(我很衰也很帅)回复于 2002-03-14 14:23:36 得分 0
我也知道用hook不过很多方面不明白
你能解释一下你的代码吗?Top
12 楼288794()回复于 2002-03-14 17:09:36 得分 0
上面的代码不行,要使用全局 HOOK.Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn
