欢迎来到代码驿站!

当前位置:首页 >

VBA解决Windows空当接龙的617局

时间:2021-05-02 08:20:02|栏目:|点击:

Windows的自带游戏空当接龙,其中第617局是比较难解的,需要尝试的次数比较多,而且经常忘记解法和步骤。

原本希望使用AutoIt或AutoHotkey、AAuto一类的工具,写一段自动化脚本快速解决这一局,但这些工具需要安装,而且容易被当做病毒。通过Office中的VBA调用Windows的API,对游戏窗口发送按键消息,可以快速演示解法。

Declare Function FindWindow Lib "user32" Alias _
  "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
   
Declare Function SendMessage Lib "user32" Alias _
  "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
 
Const WM_CHAR = &H102
 
Sub f()
s = "83 80 83 81 80 " & _
  "20 27 72 " & _
  "48 46 41 48 42 " & _
  "89 48 70 74 78 07 40 27 " & _
  "10 14 004 10 01 16 19 " & _
  "20 002 42 21 20 " & _
  "32 34 24 32 42 34 30 38 " & _
  "58 53 63 57 56 50 " & _
  "10 10 13 15 35 13 12 18"
 
h = FindWindow("FreeWClass", "空当接龙游戏 #617")
For i = 1 To Len(s)
  c = Mid(s, i, 1)
  m = 0.1
  If c >= "0" And c <= "9" Then
    a = SendMessage(h, WM_CHAR, Asc(c), 0)
  Else
    m = 0.3
  End If
  m = m + Timer: Do While Timer < m: DoEvents: Loop
Next
End Sub

上一篇:删除SVN三种方法delSvn(windows+linux)

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

本文标题:VBA解决Windows空当接龙的617局

本文地址:http://www.codeinn.net/misctech/113277.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有