CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

如何不停地产生点击的消息

楼主usbbaby()2005-01-28 15:44:56 在 VB / API 提问

我想用sendmassageu发送消息,不停地单击其他程序,谁可以帮一下 问题点数:100、回复次数:9Top

1 楼wzzwwz(皮皮鲁)回复于 2005-01-28 15:50:10 得分 20

这个可以吗?  
   
  mouse_event    
   
  VB声明    
  Declare   Sub   mouse_event   Lib   "user32"   Alias   "mouse_event"   (ByVal   dwFlags   As   Long,   ByVal   dx   As   Long,   ByVal   dy   As   Long,   ByVal   cButtons   As   Long,   ByVal   dwExtraInfo   As   Long)    
  说明    
  模拟一次鼠标事件    
  参数表    
  参数   类型及说明    
  dwFlags   Long,下述标志的一个组合    
  MOUSEEVENTF_ABSOLUTE   dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元    
  MOUSEEVENTF_MOVE   移动鼠标    
  MOUSEEVENTF_LEFTDOWN   模拟鼠标左键按下    
  MOUSEEVENTF_LEFTUP   模拟鼠标左键抬起    
  MOUSEEVENTF_RIGHTDOWN   模拟鼠标右键按下    
  MOUSEEVENTF_RIGHTUP   模拟鼠标右键按下    
  MOUSEEVENTF_MIDDLEDOWN   模拟鼠标中键按下    
  MOUSEEVENTF_MIDDLEUP   模拟鼠标中键按下    
  dx   Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动    
  dy   Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动    
  cButtons   Long,未使用    
  dwExtraInfo   Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序    
  注解    
  进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度  
     
   
     
  Top

2 楼jinjazz(近身剪)回复于 2005-01-28 15:53:52 得分 20

 
        GetWindowRect(句柄,     r);      
        setcursorpos(r.Right     -     1,     r.Bottom     -     1);      
        Mouse_Event(MOUSEEVENTF_LEFTDOWN   ,     r.Right     -     1,     r.Bottom     -     1,     0,     0);      
        Mouse_Event(MOUSEEVENTF_LEFTUP   ,     r.Right     -     1,     r.Bottom     -     1,     0,     0);Top

3 楼tmd007(学而时习之,不亦乐乎。姓菜名了字灌之号蹭之。)回复于 2005-01-28 16:06:51 得分 20

Private   Sub   MoniMouse(ByVal   iMouseX   As   Integer,   ByVal   iMouseY   As   Integer,   ByVal   iButton   As   Integer)  
                  SetCursorPos   iMouseX,   iMouseY  
                  If   iButton   =   1   Then'左键  
                                  mouse_event   MOUSEEVENTF_LEFTDOWN   Or   MOUSEEVENTF_LEFTUP,   0,   0,   0,   0  
                  ElseIf   iButton   =   2   Then‘右键  
                                  mouse_event   MOUSEEVENTF_RIGHTDOWN   Or   MOUSEEVENTF_RIGHTUP,   0,   0,   0,   0  
                  End   If  
  End   SubTop

4 楼pikachu8guan(30度仰角 (www.vbgood.com 新手学堂 Manager))回复于 2005-01-30 12:30:27 得分 20

获得那个窗体得句柄   然后用FlashWindow和BringWindowToTop  
  FlashWindow:  
  'This   project   needs   a   timer,Interval   1000  
  'In   general   section  
  Private   Declare   Function   FlashWindow   Lib   "user32"   (ByVal   hwnd   As   Long,   ByVal   bInvert   As   Long)   As   Long  
  Const   Invert   =   1  
   
  Private   Sub   Timer1_Timer()  
          'Flash   the   window  
          FlashWindow   Me.hwnd,   Invert  
  End   Sub  
   
  BringWindowToTop:  
  'This   program   needs   two   forms,   two   buttons   and   a   module  
  Private   Declare   Function   BringWindowToTop   Lib   "user32"   (ByVal   hwnd   As   Long)   As   Long  
  Private   Sub   Command1_Click()  
          'in   form1  
          'Set   Form2   on   top  
          BringWindowToTop   Form2.hwnd  
  End   Sub  
  Private   Sub   Form_Load()  
          'in   form1  
          Form2.Visible   =   True  
  End   Sub  
  Private   Sub   Command1_Click()  
          'in   form2  
          'Set   Form1   on   top  
          BringWindowToTop   Form1.hwnd  
  End   Sub  
  Top

5 楼andycool(~風雲~)回复于 2005-01-30 12:36:23 得分 0

各位,不要太累了,到   http://www.yyfc.com/memberinfo.asp?userid=213688   捧下我的场,正好娱乐一下.谢了。Top

6 楼usbbaby()回复于 2005-02-02 11:58:19 得分 0

先多谢大家,以下程序只能对文本框有效,不知何故  
    Private   Type   POINTAPI  
          x   As   Long  
          y   As   Long  
    End   Type  
   
    Const   WM_LBUTTONDOWN   =   &H201  
    Const   WM_LBUTTONUP   =   &H202  
    Const   WM_LBUTTONDBLCLK   =   &H203  
     
    Private   Declare   Function   GetTickCount   Lib   "kernel32"   ()   As   Long  
    Private   Declare   Function   SendMessage   Lib   "user32"   Alias   "SendMessageA"   (ByVal   hwnd   As   Long,   ByVal   wMsg   As   Long,   ByVal   wParam   As   Long,   lParam   As   Any)   As   Long  
    Private   Declare   Function   WindowFromPoint   Lib   "user32"   (ByVal   xPoint   As   Long,   ByVal   yPoint   As   Long)   As   Long  
    Private   Declare   Function   GetCursorPos   Lib   "user32"   (lpPoint   As   POINTAPI)   As   Long  
   
  Private   Sub   Timer1_Timer()  
          Dim   Tmp   As   Long,   Pre   As   Long,   hCursorWnd   As   Long,   Pos   As   Long  
          Dim   Point   As   POINTAPI  
          GetCursorPos   Point  
          hCursorWnd   =   WindowFromPoint(Point.x,   Point.y)  
          SendMessage   hCursorWnd,   WM_LBUTTONDOWN,   0,   0  
          Pre   =   GetTickCount()  
          While   GetTickCount()   -   Pre   <   200  
                  Tmp   =   DoEvents()  
          Wend  
          SendMessage   hCursorWnd,   WM_LBUTTONUP,   0,   0  
  End   Sub  
  Top

7 楼samwzhang(分全给我)回复于 2005-02-02 12:27:53 得分 10

蹭Top

8 楼szmickylee(笨老鼠)回复于 2005-02-02 12:38:39 得分 10

顶分Top

9 楼usbbaby()回复于 2005-02-02 14:42:05 得分 0

终于OK,多谢各位!  
  Private   Declare   Sub   mouse_event   Lib   "user32"   (ByVal   dwFlags   As   Long,   ByVal   dx   As   Long,   ByVal   dy   As   Long,   ByVal   cButtons   As   Long,   ByVal   dwExtraInfo   As   Long)  
  Private   Const   MOUSEEVENTF_LEFTDOWN   =   &H2  
  Private   Const   MOUSEEVENTF_LEFTUP   =   &H4  
  Private   Sub   Timer1_Timer()  
          mouse_event   MOUSEEVENTF_LEFTDOWN   Or   MOUSEEVENTF_LEFTUP,   0,   0,   0,   0  
  End   Sub  
  Top

相关问题

  • 请教在一个CListView的列表项上双击会产生什么消息?
  • 点击列表框中的一个列表项,会产生几个消息?
  • 如何产生虚拟消息
  • 为什么未产生WM_CHAR消息?
  • WM_SYSCOMMAND消息何时产生?还有。。。
  • 当鼠标点击一个窗口的标题栏时,产生的消息是什么呢?
  • 点击 应用程序在任务栏上的标题 会产生哪一个事件或消息?
  • 怎样知道鼠标在界面上点击后,程序产生的消息的参数和处理方式?
  • 问题:怎样截获点击程序标题栏时产生的WM_LBUTTONUP消息?
  • 鼠标点击窗体的最小化按钮时,产生的消息是什么,或者是怎么捕获这个消息

关键词

  • 鼠标
  • 模拟
  • 系统
  • mouseeventf
  • byval
  • hcursorwnd
  • 相对运动
  • mouse
  • leftup
  • ibutton

得分解答快速导航

  • 帖主:usbbaby
  • wzzwwz
  • jinjazz
  • tmd007
  • pikachu8guan
  • samwzhang
  • szmickylee

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo