TC官方合作论坛

 找回密码
 立即注册
查看: 2350|回复: 4

[已解决] 为什么写这么短的代码软件会奔溃啊

[复制链接]
发表于 2016-6-12 22:41:17 | 显示全部楼层 |阅读模式

马上加入TC

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

x
  1. 变量 线程ID,ts = 插件("ts.tssoft"),窗口句柄,循环开关

  2. //从这里开始执行
  3. 功能 执行()
  4.     //从这里开始你的代码
  5. 结束
  6. //启动_热键操作
  7. 功能 启动_热键()
  8.     变量 内容
  9.     循环开关 = 真
  10.     内容=浏览框获取文本("浏览框0")
  11.     调试输出("浏览框地址"&内容)
  12.     进程打开(内容,真)
  13.     ts.SetPath(获取资源路径("rc:"))
  14.     进入游戏()
  15.     查找窗口()
  16.     输入账号()
  17.     线程ID=线程开启("执行","")
  18. 结束

  19. //终止热键操作
  20. 功能 终止_热键()
  21.     循环开关 = 假
  22.     线程关闭(线程ID)
  23. 结束

  24. 功能 打开文件_初始化()
  25.     //这里添加你要执行的代码
  26.     变量 ret=注册插件("rc:TSPlug.dll",真)
  27.     如果(ret)
  28.         调试输出("插件注册成功")
  29.     结束
  30.    
  31. 结束
  32. 功能 查找窗口()
  33.     循环(循环开关)
  34.         窗口句柄 = ts.FindWindow("DHXYFreeMainFrame","大话西游2免费版")
  35.         调试输出("窗口句柄"&窗口句柄)
  36.         如果(窗口句柄>0)
  37.             ts.MoveWindow(窗口句柄,0,0)
  38.             跳出
  39.         结束
  40.         
  41.     结束
  42.    
  43.    
  44. 结束
  45. 功能 进入游戏()
  46.     变量 intX,intY
  47.     ts.FindWindow("#32770","大话西游2免费版欢迎页")
  48.     循环(循环开关)
  49.         
  50.         ts.FindPic(0,0,2000,2000,"进入游戏.bmp","000000",0.9,0,intX,intY)
  51.         如果(intX >= 0 && intY >= 0)
  52.             //ts.EnableRealMouse(1,20,30)
  53.             ts.MoveTo(intX+318,intY-77)
  54.             ts.LeftClick()
  55.             跳出
  56.         否则
  57.             调试输出("没有找到进入游戏")
  58.         结束
  59.     结束
  60.    
  61. 结束
  62. 功能 输入账号()
  63.     变量 路径,账号,账号数组,密码
  64.    
  65.     路径=获取资源路径("rc:账号.ini")
  66.     账号数组 = 文件读取内容(路径)
  67.     //账号数组 = 读文件返回数组(路径, "\n")
  68.    
  69.    
  70.     变量 retarr
  71.     字符串分割(账号数组,"---",retarr)
  72.     循环(循环开关)
  73.         账号 = retarr[0]
  74.         密码 = retarr[1]
  75.         调试输出("账号"&retarr[0])
  76.         调试输出("密码"&retarr[1])
  77.         跳出
  78.     结束
  79.    
  80.     变量 intX,intY
  81.     循环(循环开关)
  82.         
  83.         ts.FindPic(0,0,2000,2000,"登录游戏.bmp","000000",0.9,0,intX,intY)
  84.         如果(intX >= 0 && intY >= 0)
  85.             ts.EnableRealMouse(1,20,30)
  86.             ts.MoveTo(intX+109,intY-108)
  87.             ts.LeftClick()
  88.             键盘按键(8,25)
  89.             等待(1000)
  90.             
  91.             ts.KeyPressStr(账号,20)
  92.             
  93.             
  94.             
  95.             
  96.         结束
  97.     结束
  98.    
  99.    
  100.    
  101.    
  102.    
  103. 结束
复制代码


回复

使用道具 举报

发表于 2016-6-12 23:05:51 | 显示全部楼层
    进入游戏()
    查找窗口()
    输入账号()

都用线程开启
你调用的子功能 里面如果有等待 或循环  ,不用线程开启界面会卡死
回复 支持 反对

使用道具 举报

发表于 2016-6-13 00:13:54 | 显示全部楼层
楼上+1
回复

使用道具 举报

发表于 2016-6-14 19:46:11 | 显示全部楼层
请优化你的代码 把找字找图 封装一下 调用 给予返回 。。这样写更节省 空间 代码量。
回复 支持 反对

使用道具 举报

发表于 2016-6-16 05:58:26 | 显示全部楼层
等待()在刷新页面用得太少了。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-10-1 16:04 , Processed in 0.066740 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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