TC官方合作论坛

 找回密码
 立即注册
查看: 1067|回复: 17
打印 上一主题 下一主题

[已解决] 求各位大神,请进.小弟有些想请教.

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-7 16:31:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x



下面的代码,我用记事本测试向记事本发送按键(48)键码是0,脚本按键式循环发送得,为什么我多次按开启热键发送按键(48),比按一次开启热键的发送得快.
我就想知道怎么可以按一次开启热键能达到多次按启动热键发送按键的速度.?


#import "dm.dmsoft" dm
空间 测试
//定义默认空间
整型 线程句柄
整型 枚举窗口
功能 逻辑型 测试1()
整型 窗口句柄
整型  hwnd
string str
int name
整型 鼠标所在窗口句柄
整型 WheelDown

窗口句柄=窗口.鼠标所在窗口句柄()
如果(窗口句柄==0) //判断是否获取到了窗口句柄
                辅助.消息框("没有获取到窗口句柄!")
否则
窗口.激活(窗口句柄)
辅助.等待(200)
窗口.还原(窗口句柄)
辅助.等待(200)
//窗口.还原(窗口句柄字符串)
//窗口.设置位置(窗口句柄,0,0)
辅助.等待(200)
整型 是否绑定成功
是否绑定成功=dm.BindWindow(窗口句柄,"normal","windows","windows",0)
如果(是否绑定成功==0)
辅助.消息框("绑定失败!")
如果结束
如果结束
   
循环(真)
dm.KeyPress(48)
循环结束


返回 真
//函数返回语句
功能结束


功能 逻辑型 热键0_热键()
//这里添加你要执行的代码
线程句柄=线程.开启("测试.测试1","")
返回 真
//函数返回语句
功能结束
功能 逻辑型 热键1_热键()
//这里添加你要执行的代码
线程.关闭(线程句柄)
返回 真
功能结束


功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()


返回 真
//函数返回语句
功能结束


空间结束
//空间结束语句


回复

使用道具 举报

沙发
发表于 2012-9-7 20:47:32 | 只看该作者
你多次按比一次多,是因为你按一次热键就开了一个线程,多个线程一起在输入0,肯定快

如果你开启线程先加个限制条件,就不会出这个情况了:
    if(线程句柄==0)
              线程句柄=线程.开启("测试.测试1","")
    endif


还有你想按一次就达到多次的效果

你可以再热键事件里面开启多个线程


    for(10)
        线程.开启("测试.测试1","")
    endfor



(⊙o⊙)…
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-9-7 21:25:48 | 只看该作者
回复 2楼梦里只影向你的帖子

大神,怎么在热键 时间里添加开启多个线程啊?

下面的代码现在按一次热键就能达到多次按热键的速度,但是不能停止。


#import "dm.dmsoft" dm
空间 开卡片
//定义默认空间

//定义默认空间
整型 线程句柄
整型 枚举窗口
整型 线程状态
功能 逻辑型 测试1()
整型 窗口句柄
整型  hwnd
string str
int name
整型 鼠标所在窗口句柄
整型 WheelDown

窗口句柄=窗口.鼠标所在窗口句柄()
如果(窗口句柄==0) //判断是否获取到了窗口句柄
                辅助.消息框("没有获取到窗口句柄!")
否则
窗口.激活(窗口句柄)
辅助.等待(200)
窗口.还原(窗口句柄)
辅助.等待(200)
//窗口.还原(窗口句柄字符串)
//窗口.设置位置(窗口句柄,0,0)
辅助.等待(200)
整型 是否绑定成功
是否绑定成功=dm.BindWindow(窗口句柄,"normal","windows","windows",0)
如果(是否绑定成功==0)
辅助.消息框("绑定失败!")
如果结束
如果结束
   
循环(真)
    dm.KeyPress(48)
循环结束
返回 真
//函数返回语句
功能结束


功能 逻辑型 热键0_热键()
//这里添加你要执行的代码
如果(线程状态!=1)
线程句柄=线程.开启("开卡片.测试1","")
线程句柄=线程.开启("开卡片.测试1","")
线程句柄=线程.开启("开卡片.测试1","")
线程状态=1
如果结束
返回 真
//函数返回语句
功能结束

功能 逻辑型 热键1_热键()
//这里添加你要执行的代码
如果(线程状态==1)
线程.关闭(线程句柄)
线程状态=0
如果结束
返回 真
功能结束

功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()


返回 真
//函数返回语句
功能结束



功能 逻辑型 初始化()
//这里添加你要执行的代码
逻辑型 是否成功=辅助.是否注册("dm.dmsoft")
如果(是否成功)
如果结束
辅助.注册插件("c:\\dm.dll",真)
如果(是否成功)
如果结束
返回 真
功能结束

空间结束
//空间结束语句

回复 支持 反对

使用道具 举报

地板
发表于 2012-9-7 22:28:03 | 只看该作者
我帮你修改过的,你参考下


  1. #import "dm.dmsoft" dm

  2. 空间 记事本测试

  3. 整型 线程句柄
  4. 整型 枚举窗口

  5. int[] 线程句柄数组
  6. int 线程状态


  7. 功能 逻辑型 测试1()
  8.     整型 窗口句柄
  9.     整型  hwnd
  10.     string str
  11.     int name
  12.     整型 鼠标所在窗口句柄
  13.     整型 WheelDown
  14.     窗口句柄=窗口.鼠标所在窗口句柄()
  15.     如果(窗口句柄==0) //判断是否获取到了窗口句柄
  16.         辅助.消息框("没有获取到窗口句柄!")
  17.     否则
  18.         窗口.激活(窗口句柄)
  19.         
  20.         辅助.等待(200)
  21.         窗口.还原(窗口句柄)
  22.         辅助.等待(200)
  23.         //窗口.还原(窗口句柄字符串)
  24.         //窗口.设置位置(窗口句柄,0,0)
  25.         辅助.等待(200)
  26.         整型 是否绑定成功
  27.         是否绑定成功=dm.BindWindow(窗口句柄,"normal","windows","windows",0)
  28.         如果(是否绑定成功==0)
  29.             辅助.消息框("绑定失败!")
  30.         如果结束
  31.     如果结束
  32.    
  33.     循环(真)
  34.         dm.KeyPress(48)
  35.     循环结束
  36.    
  37.    
  38.     返回 真
  39.     //函数返回语句
  40. 功能结束


  41. 功能 逻辑型 热键0_热键()
  42.     //if(线程句柄==0)
  43.     //线程句柄=线程.开启("记事本测试.测试1","")
  44.     //endif
  45.    
  46.    
  47.    
  48.     if(线程状态!=1)
  49.         
  50.         for(int i=0;i<3;i++)
  51.             if(线程句柄数组[i]==0)
  52.                 线程句柄数组[i] = 线程.开启("记事本测试.测试1","")
  53.             endif
  54.         endfor
  55.         线程状态 = 1
  56.         
  57.     endif
  58.    
  59.     返回 真
  60. 功能结束

  61. 功能 逻辑型 热键1_热键()
  62.    
  63.     if(线程状态 == 1)
  64.         
  65.         for(int i=0;i<3;i++)
  66.             
  67.             线程.关闭(线程句柄数组[i])
  68.             线程句柄数组[i] = 0
  69.         endfor
  70.         线程状态 = 0
  71.         
  72.     endif
  73.    
  74.    
  75.    
  76.     返回 真
  77. 功能结束



  78. 功能 逻辑型 退出_点击()
  79.     辅助.退出()
  80.    
  81.     返回 真
  82. 功能结束


  83. 功能 逻辑型 初始化()
  84.     线程句柄数组 =int[3]
  85.    
  86.     返回 真
  87. 功能结束

  88. 空间结束
复制代码
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2012-9-7 22:47:49 | 只看该作者
回复 4楼梦里只影向你的帖子

57行  错误 for未定义的函数

我用的是TC3.039
回复 支持 反对

使用道具 举报

6#
发表于 2012-9-7 22:54:39 | 只看该作者
我这个是 vip群的内测版本,你把for改成while循环

for(int i=0;i<3;i++)
.......
endfor

int i =0
while(i<3)
.........
i=i+1
endwhile
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2012-9-7 23:30:14 | 只看该作者
回复 6楼梦里只影向你的帖子

还是不行,
已经很感激你了。
回复 支持 反对

使用道具 举报

8#
发表于 2012-9-7 23:32:38 | 只看该作者
那不行额,那个我试过可以的,发个给你试试

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

9#
发表于 2012-9-7 23:34:29 | 只看该作者
那不行额,那个我试过可以的,发个给你试试
梦里只影向你 发表于 2012-9-7 23:32:38

新来地好认真
回复 支持 反对

使用道具 举报

10#
发表于 2012-9-7 23:35:24 | 只看该作者
回复 9楼shine宝宝的帖子

那也没宝宝认真噢
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

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

GMT+8, 2025-10-11 16:17 , Processed in 0.200196 second(s), 25 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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