• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[代码分析]钓鱼游戏自动化 [复制链接]

1#
水平一般,自己慢慢琢磨着用,献丑了,高手勿喷,只是分享下成果
PC,生成小精灵方便开单,收竿、删除、关窗都会生成文本数据保存到本地C盘,也可以调出查询,直接连接打印机打印,到时文字提示也可音乐提示,很多功能添加了密码,防止有人手多乱按,代码零乱,大神勿喷!不懂怎么设置关窗退出程序提醒,没办法避免误关,也不知道有没最大化设置。
欢迎大神指点!






  1. Declare Function PeekMessageA Lib "user32.dll" Alias "PeekMessageA"(ByVal 消息格式 As Any,ByVal 窗口句柄 As Long,ByVal 消息最小过滤值 As Long,ByVal 消息最大过滤值 As Long,ByVal 删除消息 As Long) As Long
  2. Declare Function LocalAlloc Lib "kernel32" Alias "LocalAlloc" (ByVal wOemChar As Long,ByVal wOmChar As Long) As Long
  3. Declare Function LocalFree Lib "kernel32" Alias "LocalAlloc" (ByVal hMem As Long) As Long
  4. Declare Function TranslateMessage Lib "user32.dll" Alias "TranslateMessage"(ByVal 消息结构 As Any) As Long
  5. Declare Function DispatchMessageA Lib "user32.dll" Alias "DispatchMessageA"(ByVal 消息结构 As Any) As Long
  6. Declare Function timeGetTime Lib "winmm.dll" () As Long
  7. Declare Function GetTickCount Lib "kernel32.dll" Alias "GetTickCount"() As Long
  8. Event Form1.Load

  9. Form1.TabControl1.Visible = False
  10. Form1.时间.Caption = Date
  11. //释放附件 打印插件
  12. PutAttachment ".\plugin", "*.dll"
  13. i = NOW
  14. Form1.Timer1.Interval = 1000 //设置定时器循环的间隔时间(单位:毫秒)

  15. End Event
  16. Event Form1.InputBox1.Change
  17. Form1.InputBox1.Text = Right(Form1.InputBox1.Text,2)
  18. End Event
  19. Event Form1.InputBox2.Change
  20. Form1.InputBox2.Text = Right(Form1.InputBox2.Text,2)
  21. End Event
  22. Event Form1.InputBox3.Change
  23. Form1.InputBox3.Text = Right(Form1.InputBox3.Text,2)
  24. End Event
  25. //根据定时周期执行事件
  26. Event Form1.Timer1.Timer
  27. Form1.Label16.Caption = i
  28. Form1.Label1.Caption = i//改变标签内容
  29. i=NOW+0.0000115740

  30. //统计竿数,够钟提示
  31. 竿数=Form1.Grid1.RowCount-2
  32. For m = 1 To Form1.Grid1.RowCount-2
  33. 结束=Form1.Grid1.GetItemText(m,3)
  34. 结束= TimeValue(结束)
  35. 背景颜色= "555fff"
  36. 字颜色= "fffff"
  37. If Time>结束 Then
  38. If "555FFF" = Form1.Grid1.GetItemBkColor(m, 3) Then
  39. Else
  40. Form1.Grid1.SetItemBkColor m,3,背景颜色
  41. Form1.Grid1.SetItemFgColor m,3,字颜色
  42. //判断选中情况
  43. If Form1.提示音.Value = 1 Then
  44. Call Plugin.Media.Play("C:\Areyouok.mp3")
  45. //播放路径("C:\Areyouok.mp3")音乐文件
  46. Else
  47. End If
  48. End If
  49. End If
  50. Next
  51. //以上是够钟提示
  52. End Event

  53. //开单
  54. Event Form1.Button1.Click
  55. 返回值 = Lib.窗口.弹出对话框("请确认信息是否正确,是否开单?",0,"警告",65)
  56. If 返回值=1 Then
  57. 类型 = Split(Form1.ComboBox1.List,"|")
  58. 费用 = Split(Form1.ComboBox2.List,"|")
  59. //从下拉框中获取文本内容,
  60. If 类型(Form1.ComboBox1.ListIndex)<> "" Then
  61. 种类=类型(Form1.ComboBox1.ListIndex)
  62. 竿费=费用(Form1.ComboBox2.ListIndex)
  63. If Form1.InputBox1.Text <> "" Then
  64. 钓位=Form1.InputBox1.Text
  65. If 钓位 < 10 Then
  66. 钓位="0"&钓位
  67. End If
  68. If Form1.InputBox2.Text <> "" Then
  69. 时=Form1.InputBox2.Text
  70. If Form1.InputBox3.Text <> "" Then
  71. 分= Form1.InputBox3.Text
  72. Hour 时
  73. Minute 分
  74. Second(0)
  75. 开竿时间=TimeValue(TimeSerial(时,分,秒))
  76. 结束时间=TimeSerial(时+4,分,秒)
  77. Form1.Grid1.InsertRow 1
  78. Form1.Grid1.SetItemText 1,0,种类
  79. Form1.Grid1.SetItemText 1,1,钓位
  80. Form1.Grid1.SetItemText 1,2,开竿时间
  81. Form1.Grid1.SetItemText 1,3,结束时间
  82. Form1.Grid1.SetItemText 1,4,竿费
  83. End If
  84. End If
  85. End If
  86. End If
  87. End If



  88. Form1.开竿时间.Caption = 开竿时间
  89. Form1.收竿时间.Caption = 结束时间
  90. Form1.钓位.Caption = 种类&钓位&"#"


  91. Form1.竿费.Caption = 竿费
  92. //开始打印
  93. Dim 验证
  94. 验证 = MsgBox("是否确定打印?", 49)
  95. If 验证 = 1 then


  96. Call Plugin.OfficeWork.PrintForm(form1.Hwnd,form1.Container1.Left,form1.Container1.Top,962,form1.Container1.Height+form1.Container1.Top)
  97. End If
  98. End Event
  99. //=============上面是录入资料代码====True================
  100. //统计竿数
  101. Event Form1.Button2.Click


  102. //获取到每一行的数据,然后通过eval命令相加
  103. 竿数=Form1.Grid1.RowCount-2
  104. 值 = 0
  105. 竿 = 0
  106. For m = 1 To Form1.Grid1.RowCount-2
  107. 值 = eval(值 + Form1.Grid1.GetItemText(m, 5))
  108. 竿 = eval(竿 + Form1.Grid1.GetItemText(m, 4))
  109. Next
  110. MessageBox "共:"&竿数&"条,"&"竿费共:"&竿&"元;"&"回鱼费共:"&值&"元。"
  111. End Event
  112. //全部收竿
  113. Event Form1.Button3.Click

  114. 返回值 = Lib.窗口.弹出对话框("请确认是否全部收竿?确定将会全部数据清空!",0,"警告",65)
  115. If 返回值=1 Then
  116. 密码 = (InputBox ("请输入解锁密码:"))
  117. If 密码=1988 Then
  118. //保存配置事件
  119. 竿数=Form1.Grid1.RowCount-2
  120. 值 = 0
  121. For m = 1 To Form1.Grid1.RowCount-2
  122. 值 = eval(值 + Form1.Grid1.GetItemText(m, 4))
  123. Next
  124. //获取到每一行的数据,然后通过eval命令相加
  125. 回鱼 = 0
  126. For m = 1 To Form1.Grid1.RowCount-2
  127. 回鱼 = eval(回鱼 + Form1.Grid1.GetItemText(m, 5))
  128. Next
  129. MsgBox Date&" 共 "&竿数&" 竿"&" 共"&值&"元"&"; 回鱼费共:"&回鱼&"元"
  130. For 竿数
  131. 类型=Form1.Grid1.GetItemText(1,0)&"*"
  132. 钓位=Form1.Grid1.GetItemText(1,1)&"#*"
  133. 开始=Form1.Grid1.GetItemText(1,2)&"*"
  134. 结束=Form1.Grid1.GetItemText(1,3)&"*"
  135. 费用=Form1.Grid1.GetItemText(1,4)&"*"
  136. 回鱼费=Form1.Grid1.GetItemText(1,5)&"*"
  137. Call Plugin.File.WriteFileEx("C:\开竿记录.txt", now&"*"&类型&钓位&开始&结束&费用&回鱼费)
  138. Form1.Grid1.DeleteRow 1
  139. Next
  140. //显示当前列表行数数量
  141. Else
  142. MsgBox "密码错误"
  143. End If
  144. End If
  145. End Event
  146. //下面是输入回鱼金额=======================================================================================================
  147. Event Form1.Grid1.DblClick
  148. Form1.Grid1.GetSelectedRange 行, 列, x1, y1
  149. 钓位=Form1.Grid1.GetItemText(行,1)
  150. 类型=Form1.Grid1.GetItemText(行,0)
  151. 回鱼费=Form1.Grid1.GetItemText(行,5)
  152. 竿费=Form1.Grid1.GetItemText(行,4)
  153. //下面是修改回鱼费用==================================================================================================
  154. If 列=5 Then
  155. If 回鱼费="" Then
  156. 返回值 = Lib.窗口.弹出对话框(类型&钓位&"#填入回鱼费用?",0,"警告",65)
  157. If 返回值=1 Then
  158. 回鱼费用 = (InputBox ("请输入回鱼金额:"))
  159. Form1.Grid1.SetItemText 行,5,回鱼费用
  160. Else
  161. End If
  162. Else
  163. 返回值 = Lib.窗口.弹出对话框("请确认是否选对?"&类型&钓位&"#已有回鱼费用了!",0,"警告",65)
  164. If 返回值=1 Then
  165. 密码 = (InputBox ("请输入解锁密码:"))
  166. If 密码=1988 Then
  167. 回鱼费用 = (InputBox ("请输入回鱼金额:"))
  168. Form1.Grid1.SetItemText 行,5,回鱼费用
  169. Else
  170. MsgBox "密码错误"
  171. End If
  172. End If
  173. End If
  174. Else
  175. If 列=4 Then
  176. //下面是修改竿费========================================================================================================================================
  177. If 竿费="" Then
  178. 返回值 = Lib.窗口.弹出对话框(类型&钓位&"#填入竿费?",0,"警告",65)
  179. If 返回值=1 Then
  180. 竿费 = (InputBox ("请输入竿费金额:"))
  181. Form1.Grid1.SetItemText 行,4,竿费
  182. Else
  183. End If
  184. Else
  185. 返回值 = Lib.窗口.弹出对话框("请确认是否选对?"&类型&钓位&"#要修改竿费吗?",0,"警告",65)
  186. If 返回值=1 Then
  187. 密码 = (InputBox ("请输入解锁密码:"))
  188. If 密码=1988 Then
  189. 竿费 = (InputBox ("请输入竿费金额:"))
  190. Form1.Grid1.SetItemText 行,4,竿费
  191. Else
  192. MsgBox "密码错误"
  193. End If
  194. End If
  195. End If
  196. Else
  197. End If
  198. End If
  199. End Event
  200. //获取到每一行的数据,然后通过eval命令相加
  201. //选表格特定行删去
  202. Event Form1.Button5.Click

  203. Form1.Grid1.GetSelectedRange 行, 列, x1, y1
  204. 钓位=Form1.Grid1.GetItemText(行,1)
  205. 类型=Form1.Grid1.GetItemText(行,0)
  206. 返回值 = Lib.窗口.弹出对话框("请确认是否需要删除?"&类型&钓位&"#钓位",0,"警告",65)
  207. If 返回值=1 Then
  208. 密码 = (InputBox ("请输入解锁密码:"))
  209. If 密码=1988 Then
  210. 类型=Form1.Grid1.GetItemText(行,0)&"*"
  211. 钓位=Form1.Grid1.GetItemText(行,1)&"#*"
  212. 开始=Form1.Grid1.GetItemText(行,2)&"*"
  213. 结束=Form1.Grid1.GetItemText(行,3)&"*"
  214. 费用=Form1.Grid1.GetItemText(行,4)&"*"
  215. 回鱼费=Form1.Grid1.GetItemText(行,5)&"*"
  216. Call Plugin.File.WriteFileEx("C:\删除记录.txt", now&"*"&类型&钓位&开始&结束&费用&回鱼费)
  217. Form1.Grid1.DeleteRow 行
  218. Else
  219. MsgBox "密码错误"
  220. End If
  221. End If
  222. End Event

  223. Event Form1.Button6.Click
  224. //开始打印
  225. Dim 验证
  226. 验证 = MsgBox("是否确定打印?", 49)
  227. If 验证 = 1 then


  228. Call Plugin.OfficeWork.PrintForm(form1.Hwnd,form1.Container1.Left,form1.Container1.Top,962,form1.Container1.Height+form1.Container1.Top)
  229. End If
  230. End Event
  231. //选表格特定行数据打印
  232. Event Form1.Grid1.Click

  233. Form1.Grid1.GetSelectedRange 行, 列, x1, y1
  234. 钓位=Form1.Grid1.GetItemText(行,1)
  235. 类型=Form1.Grid1.GetItemText(行,0)
  236. 钓位=Form1.Grid1.GetItemText(行,1)
  237. 开始=Form1.Grid1.GetItemText(行,2)
  238. 结束=Form1.Grid1.GetItemText(行,3)
  239. 竿费=Form1.Grid1.GetItemText(行,4)
  240. Form1.开竿时间.Caption = 开始
  241. Form1.收竿时间.Caption = 结束
  242. Form1.钓位.Caption = 类型&钓位&"#"
  243. Form1.竿费.Caption = 竿费
  244. End Event
  245. //关闭窗口
  246. Event Form1.UnLoad
  247. 竿数=Form1.Grid1.RowCount-2
  248. 值 = 0
  249. If 竿数>0 Then
  250. // Call Plugin.File.DeleteFile("C:\关窗记录.txt")
  251. //获取到每一行的数据,然后通过eval命令相加
  252. For 竿数
  253. 类型=Form1.Grid1.GetItemText(1,0)&"*"
  254. 钓位=Form1.Grid1.GetItemText(1,1)&"*"
  255. 开始=Form1.Grid1.GetItemText(1,2)&"*"
  256. 结束=Form1.Grid1.GetItemText(1,3)&"*"
  257. 费用=Form1.Grid1.GetItemText(1,4)&"*"
  258. 回鱼费=Form1.Grid1.GetItemText(1,5)&"*"
  259. Call Plugin.File.WriteFileEx("C:\关窗记录.txt", now&"*"&类型&钓位&开始&结束&费用&回鱼费)
  260. Form1.Grid1.DeleteRow 1
  261. Next
  262. End If
  263. End Event
  264. Event Form1.停止播放.Click
  265. Call Plugin.Media.Stop()
  266. End Event
  267. //===================================数据查询页==================================================
  268. Event Form1.导入.Click

  269. 密码 = (InputBox ("请输入解锁密码:"))
  270. If 密码=1988 Then
  271. //读取配置事件
  272. //下面这句是向目标文件("C:\Config.txt")读出文本内容到变量(Text)
  273. wenjian = Plugin.File.SelectFile()
  274. If wenjian = "" Then
  275. Else
  276. //下面这句是得到文本内容
  277. Text = Plugin.File.ReadFileEx (wenjian)
  278. 开始日期 = Form1.开始日期.Text
  279. 结束日期 = Form1.结束日期.Text
  280. //下面这句是索取指定文本位置
  281. 位置1=InStr(Text,开始日期)
  282. 位置2=InStrRev(Text,结束日期)
  283. 日期字数 = Len(开始日期)
  284. 字符=Mid(Text,位置1,位置2+70)
  285. dim 一格内容
  286. Dim 一行内容
  287. //下面这句是文本内容分组
  288. 一行内容 = Split(字符, "|", -1, 1)
  289. ' MyString(0) 包含"VBScript"。
  290. ' MyString(1) 包含"is"。
  291. ' MyString(2) 包含 "fun!"。
  292. 数=UBound(一行内容)
  293. If 数>0 Then
  294. i=0
  295. For 数
  296. //下面这句是得到文本内容
  297. Form1.Grid2.InsertRow 1
  298. 一格内容= Split(一行内容(i), "*", -1, 1)
  299. 格=UBound(一格内容)
  300. g=0
  301. For 格
  302. Form1.Grid2.SetItemText 1,g,一格内容(g)
  303. //上面这一句表格还是显示不出来,哪里错了????????????????????????????????
  304. g= g + 1
  305. Next
  306. i = i + 1
  307. Next
  308. End If
  309. End If
  310. End If
  311. // Call Plugin.File.DeleteFile("C:\关窗记录.txt")
  312. End Event
  313. Event Form1.清除数据.Click
  314. 返回值 = Lib.窗口.弹出对话框("请确认是否全部收竿?确定将会全部数据清空!",0,"警告",65)
  315. If 返回值=1 Then
  316. //保存配置事件
  317. 竿数=Form1.Grid2.RowCount-2
  318. 值 = 0
  319. For 竿数
  320. Form1.Grid2.DeleteRow 1
  321. Next
  322. //显示当前列表行数数量
  323. End If
  324. End Event
  325. Event Form1.数据统计.Click

  326. //获取到每一行的数据,然后通过eval命令相加
  327. 竿数=Form1.Grid2.RowCount-2
  328. 值 = 0
  329. 竿 = 0
  330. For m = 1 To Form1.Grid2.RowCount-2
  331. 值 = eval(值 + Form1.Grid2.GetItemText(m, 6))
  332. 竿 = eval(竿 + Form1.Grid2.GetItemText(m, 5))
  333. Next
  334. MessageBox "共:"&竿数&"条,"&"竿费共:"&竿&"元;"&"回鱼费共:"&值&"元。"
  335. End Event
  336. //下面是登陆界面操作代码
  337. Event Form1.登录.Click

  338. 密码 = (InputBox ("请输入解锁密码:"))
  339. If 密码=1988 Then
  340. Form1.Container3.Visible = False
  341. Form1.TabControl1.Visible = True
  342. Else
  343. MessageBox "密码错误"
  344. End If
  345. End Event
  346. Event Form1.隐藏.Click

  347. Form1.TabControl1.Visible = False
  348. Form1.Container3.Visible =True
  349. End Event
复制代码

点评

果壳王子  钓鱼达人  发表于 2021/11/17 12:12:33

    已有1评分我要评分查看所有评分

    2#

    盟盟哒

    3#

    复制学习看看

    承接各类游戏脚本制作,post,手游,端游,办公,自动化

    有偿解决任何按键基础问题(可远程讲解、教会为止)

    如果我的回答能帮助了你,大家可以加个好友互相了解
    QQ : 262832680
    发新话题 回复该主题