tempad
ReadyGo!技术成就梦想 >>服务器 >> 如何截获鼠标单击消息

如何截获鼠标单击消息

ReadyGo!技术成就梦想 网络搜索 efish 2008-1-14 1:24:10

如何截获鼠标单击消息

楼主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

责任编辑: efish 参与评论 查找更多:
相关文章
200分求index server的站内搜索asp源代码!!急用! 200分求index server的站内搜索asp源代码!!急用!
PB6.5 打印问题? PB6.5 打印问题?
请问在Delphi怎样取得当前登录到Windows的用户名? 请问在Delphi怎样取得当前登录到Windows的用户名?
本人用JAVA开发了一套简单的数据操作软件,需要源代… 本人用JAVA开发了一套简单的数据操作软件,需要源代码的请留下email.
如何刷新FileListBox中的文件 如何刷新FileListBox中的文件
帮忙编个多线程的例子 帮忙编个多线程的例子
ADO select 返回系统变量值,如何取得该值? ADO select 返回系统变量值,如何取得该值?
关于 DirectShow 和 网络传输的问题,希望给点提示. 关于 DirectShow 和 网络传输的问题,希望给点提示.
从apache.org下载的httpd-2.0.32.zip怎么安装? 从apache.org下载的httpd-2.0.32.zip怎么安装?
我现在有一个项目,需要找几个人一起编程 我现在有一个项目,需要找几个人一起编程
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想