TC官方合作论坛

标题: 大家来答题。有没大神会做,按住X键则X键连发 松开则停止。 [打印本页]

作者: 剑仙十号    时间: 2015-10-29 15:02
标题: 大家来答题。有没大神会做,按住X键则X键连发 松开则停止。
DNF的连发。
有没大神会做,按住X键则X键连发 松开则停止。

一次键盘按键,由按下 + 弹起组成。一直按住X键而不弹起,不能说是一次按键动作。
//
作者: 我是谁啊123    时间: 2015-10-29 17:40
最基础的 自己去看教程

作者: 剑仙十号    时间: 2015-10-29 19:31
有人答题吗?没人答我就公布答案了。
作者: 420130    时间: 2015-10-29 21:19
利用消息路由就可以办到啊。。。
作者: a145356    时间: 2015-10-30 08:52
  1. //做连发键的脚本,改键连发。Z键改数字1,X键改数字2。
  2. //新建立一个脚本,代码全部粘贴,覆盖原来的代码就可以了。
  3. 变量 hThread,hThread1,hThread2 //设置全局变量.相当于按键精灵的环境变量.

  4. 功能 启动_热键()   
  5.     //按热键F8,开户线程1 线程2,并返回线程句柄.
  6.     hThread=线程开启("主程序","")
  7.     等待(30)
  8.     hThread1=线程开启("连发键1","")
  9.     等待(30)
  10.     线程暂停(hThread1)//暂停线程1.
  11.     hThread2=线程开启("连发键2","")
  12.     等待(30)
  13.     线程暂停(hThread2)//暂停线程2.
  14. 结束

  15. 功能 主程序() //主线程函数.
  16.     变量 QQ1,QQ2,mykey1=49,mykey2=50  //连发键,是主键盘上的1和2.
  17.     循环(真)//循环1开始.         
  18.         QQ1 = 动态库调用("user32.dll","long", "GetAsyncKeyState","long",mykey1)//调用Win32 的API函数,读取按键状态.
  19.         QQ2 = 动态库调用("user32.dll","long", "GetAsyncKeyState","long",mykey2)//调用Win32 的API函数,读取按键状态.
  20.         
  21.         如果(QQ1!=0)
  22.             调试输出("恢复线程1.")
  23.             线程恢复(hThread1)//恢复线程1.
  24.             等待(10)//下面开始用GetAsyncKeyState,判断数字1,有无弹起.
  25.             
  26.             循环(QQ1!=0)  //小循环开始.
  27.                 QQ1 = 动态库调用("user32.dll","long", "GetAsyncKeyState","long",mykey1)//调用Win32 的API函数,读取按键状态.
  28.                 等待(50)  //等待50毫秒会一直循环,直到放开数字"1".
  29.             结束 //小循环结束.
  30.             调试输出("暂停线程1.")
  31.             线程暂停(hThread1)//暂停线程1.
  32.             等待(10)
  33.         结束        
  34.         
  35.         如果(QQ2!=0)
  36.             调试输出("恢复线程2.")
  37.             线程恢复(hThread2)//恢复线程2.
  38.             等待(10)//下面开始用GetAsyncKeyState,判断数字2,有无弹起.
  39.             
  40.             循环(QQ2!=0)  //小循环开始.
  41.                 QQ2 = 动态库调用("user32.dll","long", "GetAsyncKeyState","long",mykey2)//调用Win32 的API函数,读取按键状态.
  42.                 等待(50)  //等待50毫秒会一直循环,直到放开数字"2".
  43.             结束 //小循环结束.
  44.             调试输出("暂停线程2.")
  45.             线程暂停(hThread2)//暂停线程2.
  46.             等待(10)
  47.         结束   
  48.         
  49.     结束//循环1结束.   
  50. 结束

  51. 功能 连发键1()//线程1函数.
  52.     循环(真)
  53.         键盘按键(90)        
  54.         等待(10)
  55.     结束
  56. 结束

  57. 功能 连发键2()//线程2函数.
  58.     循环(真)
  59.         键盘按键(88)        
  60.         等待(10)
  61.     结束
  62. 结束

  63. 功能 终止_热键()   
  64.     //按热键F9,关闭主线程,线程1,线程2.
  65.     线程关闭(hThread)
  66.     线程关闭(hThread1)
  67.     线程关闭(hThread2)
  68. 结束
复制代码

作者: 剑仙十号    时间: 2015-10-31 22:07

提示一下。
一次键盘按键,是由按下 + 弹起组成的。一直按住X键而不让它弹起,不能算一次完整的按键。
//
用tc综合开发,回调函数,hook拦截按下的动作,不让它传到目标程序。这样对目标程序来说,约等于没有按住左键。
再在目标程序中用硬件或软件按键即可。
//




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1