| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 509 人关注过本帖
标题:请问各位大哥,在VB中能用鼠标键做快捷键吗?
只看楼主 加入收藏
y526892224
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-8-11
结帖率:100%
收藏
 问题点数:0 回复次数:1 
请问各位大哥,在VB中能用鼠标键做快捷键吗?
小弟经常玩一些单机的射击游戏,而有很多的游戏没有连发功能(按住鼠标,就一直开枪),所以想弄个小程序,实现按住鼠标的左键,鼠标就连点,松开就停止的小工具,而不是像网上到处都有的那种用键盘的按键做快捷键的工具。
   我是这样构想的,弄个全局热键,用鼠标的左键按下(MOUSEEVENTF_LEFTDOWN)做为开始的快捷键,用鼠标的左键抬起(MOUSEEVENTF_LEFTUP)做为关闭的快捷键。但是这样不成功,那正确的应该是怎么样写的呢,请各位帮帮忙,用键盘做热键的就不用说了,这个我知道。
搜索更多相关主题的帖子: 中能 鼠标 
2010-04-19 15:45
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
最少VB实现不了。。。。
因为控制与实现功能冲突。
检测到左键按下,重复产生鼠标单击消息。
而鼠标单击消息,会生成 鼠标左键按下和放过消息。与检测部分冲突,无法区分而导致失败。

估计需要重写 Windows 底层的API 函数,才能实现。
1、检测鼠标硬件输入。当按下键时,执行对应的操作。VB不能一般情况下是无法实现硬件操作(需要 SYS 驱动)。
2、需要重复输入时,产生虚拟输入给系统。产生的虚拟输入,不能让系统以为是硬件输入。

我理解就是把鼠标处理部分有三层。
硬件中断层-》处理层-》形成输入消息层
应该在第二层检测鼠标操作,然后虚拟时是给第三层。
而VB使用WIN API 时,只能在第三层检测,造成消息冲突。


授人于鱼,不如授人于渔
早已停用QQ了
2010-04-19 16:36
快速回复:请问各位大哥,在VB中能用鼠标键做快捷键吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015845 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved