TC官方合作论坛

 找回密码
 立即注册
查看: 2009|回复: 7

[其他] 求一款能像DM一样获取某个键状态的插件

[复制链接]
发表于 2014-8-7 23:46:14 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
求一款能像DM一样获取某个键状态的插件,例如在大漠中可以调用:
dm.GetKeyState(keyCode)
keyCode是虚拟键码,返回true表示该键处于按下状态,返回 false表示该键处于弹起状态
但是处于某种原因不能使用dm,也看了大兵有一个getmousekey的函数,但是不合适,大兵这个函数
是返回被按下的按键的键码,而且变动很大,当多个键被按下,返回不准确,求介绍一款有跟大漠一样的
这个函数的插件,谢谢!
回复

使用道具 举报

发表于 2014-8-8 00:00:52 | 显示全部楼层
用dllcall吧
回复 支持 反对

使用道具 举报

发表于 2014-8-8 00:04:27 | 显示全部楼层
API。GetAsyncKeyState

功能 Ctrl是否按下()
    如果(dllcall("user32.dll", "int", "GetAsyncKeyState", "long", 17) ==-32767)
        返回 真
    否则
        返回 假
    如果结束
功能结束
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-8 11:14:32 | 显示全部楼层
cylhb 发表于 2014-8-8 00:04
API。GetAsyncKeyState

功能 Ctrl是否按下()

我试过,用GetKeyState的症状如下:
按(注意是按,不是keydown,是keypress)一下键,键已经被弹起,但是调用GetKeyState返回为=1
而且一直是=1,说明是按下状态,实际上没有按下,直到第二次keypress这个键后才返回=0
GetAsyncKeyState 的症状如下:
keypress一下键,键被弹起(已经处于弹起状态),调用该函数返回=1,再次调用该函数返回=0

两函数都不能正确返回结果
回复 支持 反对

使用道具 举报

发表于 2014-8-8 12:25:50 | 显示全部楼层
hommilist 发表于 2014-8-8 11:14
我试过,用GetKeyState的症状如下:
按(注意是按,不是keydown,是keypress)一下键,键已经被弹起,但是调 ...
  1. 功能 开始_点击()
  2.    
  3.     如果(dllcall("user32.dll", "int", "GetAsyncKeyState", "long", 89) ==-32767)
  4.         辅助.消息框("123")
  5.         返回 真
  6.     否则
  7.         辅助.消息框("456")
  8.         返回 假
  9.     如果结束
  10.    
  11.    
  12. 功能结束
复制代码


当按下Y键,点击开始,弹出是456.当按住Y键,点击开始,弹出的是123.你试试以下。
回复 支持 反对

使用道具 举报

发表于 2014-8-8 19:28:18 | 显示全部楼层
-.-按下Y键再点击开始,说明你松开了Y键,弹出456不对?
按住Y键弹出123,这不说明白Y键处于按住状态???
一个是松开,一个是按住,这不就知道Y键此时的状态了?
不明白你想要的是什么东西。。
回复 支持 反对

使用道具 举报

发表于 2014-8-8 23:07:12 | 显示全部楼层
其实消息路由也可以实现这个功能, 主界面放个标签0, 可以随时看到key的状态. 如果用选择语句,几乎所有key都可以随时判断.
功能 te_消息路由(句柄,消息,w参数,l参数,时间,x坐标,y坐标)
    如果(w参数==65)//A key keycode
        如果(消息==256)
            标签.设置文本("标签0","A键按下")
        如果结束
        如果(消息==257)
            标签.设置文本("标签0","A键弹起")
        如果结束
    如果结束
   
    如果(w参数==66)//B key keycode
        如果(消息==256)
            标签.设置文本("标签0","B键按下")
        如果结束
        如果(消息==257)
            标签.设置文本("标签0","B键弹起")
        如果结束   
    如果结束

功能结束
回复 支持 反对

使用道具 举报

发表于 2014-8-26 09:13:34 | 显示全部楼层
学习好辛苦啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-2 18:38 , Processed in 0.036447 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表