易语言怎么计算一个按键被按下多少秒?

易语言怎么计算一个按键被按下多少秒?我要写个小程序计算某键被按下了多少秒,计算过程焦点不会在小程序上!也就是说要实现后台计算!... 易语言怎么计算一个按键被按下多少秒?
我要写个小程序计算某键被按下了多少秒,计算过程焦点不会在小程序上!也就是说要实现后台计算!
展开
 我来答
wohanyuelin
2012-03-11
知道答主
回答量:15
采纳率:0%
帮助的人:5.2万
展开全部

很简单的 代码如下:级的采纳哦(如果你想显示被按下了多少秒就把时钟周期改成1000就可以了)

.版本 2

.子程序 _按钮1_鼠标左键被按下, 逻辑型

.参数 横向位置, 整数型

.参数 纵向位置, 整数型

.参数 功能键状态, 整数型

时钟1.时钟周期 = 1

.子程序 _时钟1_周期事件

编辑框1.内容 = 到文本 (到数值 (编辑框1.内容) + 1)

.子程序 _按钮1_鼠标左键被放开, 逻辑型

.参数 横向位置, 整数型

.参数 纵向位置, 整数型

.参数 功能键状态, 整数型

时钟1.时钟周期 = 0

更多追问追答
追问
你还是没明白,我说的焦点意思!你这样必须点击按钮,我要测试的是在别的程序里按下某键,然后用易语言程序计算按了多少秒,你这个我会写!还能写出比你更好的
我要的是比如你聊QQ你在聊天框按空格,计算你按了多久
现在明白了?
追答
.版本 2

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

编辑框1.获取焦点 ()

.子程序 _编辑框1_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型

.如果 (键代码 = 32)
时钟1.时钟周期 = 100
.否则

.如果结束

.子程序 _时钟1_周期事件

编辑框1.内容 = 到文本 (到数值 (编辑框1.内容) + 1)

.子程序 _编辑框1_放开某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型

.如果 (键代码 = 32)
时钟1.时钟周期 = 0
.否则

.如果结束

记得给分哦。呵呵。
lgk5942013
2012-03-10 · TA获得超过242个赞
知道答主
回答量:103
采纳率:0%
帮助的人:134万
展开全部
呵呵,这问题问得好!可惜我准备睡觉了,暂时不能详细解答,但能给你一些大致解答:
首先,你要监控键盘输入,而监控时却不在自己的程序上,这样可以考虑做热键的方式,
先不说热键之类的,先说监控的思路
建立一个自定义类型数组,类型中有4个成员,1个是键值,1个是记录发生按下的时间,1个是记录这个键最后一次被按下了多久(整数型,单位为毫秒)! 1个是记录放开这个键的时间
对数组进行常规初始化(数组是动态的)
1:收到某键的按下状态,然后寻找数组中是否已经有登记该键值的信息,如果没有就用 重定义数组 函数 增加成员 (好像自定义类型的数组不能直接使用加入成员函数),
然后就是记录相关的信息
2:收到某件弹起(即放开)状态时,同样在数组中寻找记录信息,并通过上次记录的时间,再通过时间处理函数,来计算出从按下到弹起经过的毫秒数!最后把结果保存到 第3个成员中!
以上的理念其实相对简单,但是要得到上面代码要求得到的按键的信息通常有几种方式,而鉴于你的情况,恐怕就2种方式为主了,1:使用注册热键,2:使用全局键盘钩子
前者是针对某键的,后者是针对进程消息机制的,能覆盖整个系统的键盘事件!
我去睡觉了,有问题就补充吧!明天会留意你这个问题的情况的!
更多追问追答
追问
注册热键没办法区分按下和放弃状态。
全局键盘钩子应该可以 但是CPU占用比较高
我昨天做了鼠标全局钩子cpu彪到了7 真郁闷
目前暂时用的时钟周期 加 DLL 命令取键状态(GetAsyncKeyState)
追答
奇怪了,你是要记录某键按下时长,难道连鼠标的左右键都要记录吗?
另外,全局键盘钩子不应该会占用这么大的!
把你钩子的函数发来我看看!
置于其他回答的,都看了,他们不明白你要的解决方案!
另外,如果你要连鼠标的都监控,那恐怕会占用得厉害点!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰岛玉露茶叶厂
2012-03-10 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:136万
展开全部
可以用按钮的组件事件,当按钮被按下时开始计时,当按钮被放开时结束计时。这样就可以得到中间的时间了
追问
不是这样的!你没看懂题目!问题是我要按某个键触发,还不是在本程序里按,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aini1524
2012-03-09
知道答主
回答量:6
采纳率:0%
帮助的人:6.2万
展开全部
说的不是很清楚, 加个 时钟周期 应该可以实现, 给你发一下 自动后天打开网站是怎么实现的
.版本 2
.支持库 HtmlView
.版本 2

.子程序 _按钮1_被单击

超文本浏览框1.跳转 (编辑框1.内容, , )
时钟1.时钟周期 = 到数值 (编辑框2.内容) × 1000

.子程序 _时钟1_周期事件

超文本浏览框1.跳转 (编辑框1.内容, , )

在写托盘源码应该可以实现, 关键你想写什么软件 说清楚点 或许可以给你解决
追问
就是比如说我要计算我按下空格键到放开空格键之间的时间
明白了没?
按下某键和放开某键无效,因为焦点不会在本程序上,所以这两个事件不会触发!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式